1-8题抽查提问,能够使用给自己的语言表述
1、什么是面向对象?1、是一种编程思想JAVA语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想。我们在面向对象思想的指引下,
使用java语言设计、开发计算机程序。这里的对象泛指,现实中的一切事物,每个事物都具备自己的属性和行为。面向
对象思想就是在计算机程序设计过程中,参照现实中的事物,将事物的属性特征和行为特征凑想出来,描述成计算机
事件的设计思想。2、和面向过程的区别它区别于面向过程思想,强调的是调用对象的行为来实现功能,而不是自己一步一步是去操作实现。也就是说面向过程强调步骤,面向对象强调对象。3、面向对象的好处面向对象思想是一种更符合我们思考习惯的思想,他可以把复杂的事情简单化,并将我们从执行者变成了指挥者。  4、面向对象的特征面向对象的特征:封装,继承,多态*面向对象的封装性,即将对象封装成一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为
来读取和改变。*抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处
并且会忽略与当前主题和目标无关,将注意力集中在与当前目标相关的方面,就是把现实中的对象,抽象为类。*多态指程序中定义的引用变量所指向的具体类型,和通过该引用变量发出的方法调用在编程时并不确定,而是在
程序运行时,即一个引用变量发出的方法调用到底是哪一类中实现的方法,必须在由程序运行期间决定。5、举例子比如洗衣服面向对象:把衣服脱下来-->打开全自动洗衣机-->扔衣服-->按钮-->晾起来
2、面向对象的三大思想特征是什么?封装,继承,多态
3、什么是类,什么是对象?用来抽象表示现实事物的基本单位是类。对象:是一类事物的具体体现,对象是类的一个实例,必然具备该类事物的属性和行为。类是对一类事物的描述,是抽象的。对象是一类事物的实例,是具体的。类是对象的模板,对象是类的实体/实例。
4、如何使用类中的成员变量和成员方法?成员变量:对应事物的属性 成员方法:对应事物的行为如何使用,对象名.成员变量;对象名.成员方法();例如:public class Student{//定义成员变量String name;int age;String gender;//定义成员方法public void study(){System.out.println("好好学习,天天向上");}}public class TestStudent{public static void main(String[] args){Student student = new Student();//使用成员变量student.name = "李孟冬";//使用成员方法student.study();}}
5、成员变量和局部变量的区别有哪些?成员变量                  局部变量
在类中的位置   类中,方法外            方法中或者方法声明上(形式参数)
作用范围         类中                    方法中
初始值           有默认值                没有默认值。必须先定义、赋值、然后在使用
内部中的位置     堆内存                  栈内存
生命周期         随着对象的创建而存在    随着方法的调用而存在         随着对象的消失而消失    随着方法的调用完毕而消失6、什么是匿名对象?什么时候使用?匿名对象就是没有名字的对象。当对方法只进行一次调用的时候,可以使用匿名对象。7、什么是封装?封装的好处,原则分别是什么?将代码中的属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。这就是封装。好处:1.是一个保护屏障,防止该类的代码和数据被其他类随意访问。2.适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。原则:1. 使用 private 关键字来修饰成员变量。2. 对需要访问的成员变量,提供对应的一对 getXxx 方法(获取值) 、setXxx(设置值/赋值) 方法。3. 其他地方要操作可以通过getXxx和setXxx方法来操作8、this的作用是什么?
this代表所在类的当前对象的引用(地址值),即对象自己的引用。
记住 :方法被哪个对象调用,方法中的this就代表那个对象。即谁在调用,this就代表谁。9、根据如下需求,完成代码(按照标准格式写:属性私有,提供get、Set方法),然后在测试类中测试。需求一:手机类Phone属性:品牌brand,价格price行为:打电话call,发短信sendMessage,玩游戏,playGame需求二:人类Person属性:姓名name,年龄age,性别gender行为:学习study,睡觉sleep需求三:动物类Animal属性:姓名name,年龄age行为:吃饭eat需求四:狗类Dog属性:姓名name,年龄age行为:吃饭eat,看家lookHome需求五:猫类Cat属性:姓名name,年龄age行为:吃饭eat,抓老鼠catchMouse需求六:学生类Student属性:语文成绩chinese,数学成绩math,英语成绩english行为:求总成绩的方法getSum()需求七:长方形类属性:行为:求取长方形的周长和面积//测试类
package com.henu;public class TestAllObject {public static void main(String[] args) {//PhonePhone phone = new Phone("华为",3499.00);System.out.println(phone);phone.call();phone.sendMessage();phone.playGame();/** 输出:* Phone [brand=华为, price=3499.0]*  华为可以打电话!!!华为还可以发信息!!!华为还可以玩游戏!!!*///PersonPerson person = new Person("李孟冬",22,"男");System.out.println(person);person.study();person.sleep();/** 输出结果:*   Person [name=李孟冬, age=22, gender=男]李孟冬学习中等到了0点李孟冬就睡觉了*///AnimalAnimal animal = new Animal();animal.eat();/** 输出:* 我是藏獒,我一顿能吃100块骨头!*///DogDog dog = new Dog();dog.lookHome();dog.eat();/** 输出:*    我要好好看家不然主人就不给我吃的了!耶!主人回来了,大骨头...*///CatCat cat = new Cat();cat.eat();cat.catchMouse();/** 输出:*     我爱吃饭!!!身体好好!!!吃饱了就可以减肥了,最好的锻炼方法当然是抓老鼠!*///StudentStudent student = new Student(150,150,150);System.out.println(student);student.getSum();/** 输出:*   Student [chinese=150, math=150, english=150]你的总成绩是450*///长方形类Rectangle rectangle = new Rectangle(20,10);rectangle.getPerimeter();rectangle.getArea();/** 输出: 周长为:60面积为:200* */}}其他实体类(按测试类顺序进行)
package com.henu;public class Phone {private String brand;private Double price;@Overridepublic String toString() {return "Phone [brand=" + brand + ", price=" + price + "]";}public Phone(String brand, Double price) {super();this.brand = brand;this.price = price;}public Phone() {super();// TODO Auto-generated constructor stub}public void call() {System.out.println(brand+"可以打电话!!!");}public void sendMessage() {System.out.println(brand+"还可以发信息!!!");}public void playGame() {System.out.println(brand+"还可以玩游戏!!!");}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public Double getPrice() {return price;}public void setPrice(Double price) {this.price = price;}}************************************************package com.henu;public class Person {private String name;private int age;private String gender;public Person() {}public Person(String name, int age, String gender) {this.name = name;this.age = age;this.gender = gender;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + ", gender=" + gender + "]";}public void study() {System.out.println(name+"学习中");}public void sleep() {System.out.println("等到了0点"+name+"就睡觉了");}}************************************************
package com.henu;public class Animal {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void eat() {System.out.println("我是藏獒,我一顿能吃100块骨头!");}
}************************************************
package com.henu;public class Dog {private String name;private int age; public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void lookHome() {System.out.println("我要好好看家不然主人就不给我吃的了!");}public void eat() {System.out.println("耶!主人回来了,大骨头...");}
}************************************************
package com.henu;public class Cat {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void eat() {System.out.println("我爱吃饭!!!身体好好!!!");}public void catchMouse() {System.out.println("吃饱了就可以减肥了,最好的锻炼方法当然是抓老鼠!");}
}************************************************
package com.henu;public class Student {private int chinese;private int math;private int english;public Student() {super();// TODO Auto-generated constructor stub}public Student(int chinese, int math, int english) {super();this.chinese = chinese;this.math = math;this.english = english;}public int getChinese() {return chinese;}public void setChinese(int chinese) {this.chinese = chinese;}public int getMath() {return math;}public void setMath(int math) {this.math = math;}public int getEnglish() {return english;}public void setEnglish(int english) {this.english = english;}@Overridepublic String toString() {return "Student [chinese=" + chinese + ", math=" + math + ", english=" + english + "]";}public void getSum() {System.out.println("你的总成绩是"+(chinese+math+english));}
}************************************************
package com.henu;public class Rectangle {private int length;private int width;public Rectangle() {super();// TODO Auto-generated constructor stub}public Rectangle(int length, int width) {super();this.length = length;this.width = width;}public int getLength() {return length;}public void setLength(int length) {this.length = length;}public int getWidth() {return width;}public void setWidth(int width) {this.width = width;}@Overridepublic String toString() {return "Rectangle [length=" + length + ", width=" + width + "]";}public void getPerimeter() {System.out.println("周长为:"+ (length+width)*2);}public void getArea() {System.out.println("面积为:"+ length*width);}
}************************************************

javaSE各阶段练习题---面向对象-类与对象、封装、构造方法(1相关推荐

  1. javaSE各阶段练习题--面向对象-StringBuilder-继承-包和访问权限

    1.将前一天作业,用StringBuffer进行改造,尽量提升时间和空间效率 定义一个方法,功能如下:给定一个数组,转换成一个字符串 例如:数组为int[] arr = {1, 2, 3},字符串为[ ...

  2. Java面向对象 类、对象、构造方法、封装

    第1章 面向对象基础 1.1 编程思想概述 1.1.1 面向过程思想概述 我们回想一下,这几天我们完成一个需求的步骤:首先是搞清楚我们要做什么,然后在分析怎么做,最后我们再代码体现.一步一步去实现,而 ...

  3. 面向对象-类和对象、构造方法、封装

    目录 面向对象 一.类和对象 1.定义 2.关系 3.类的组成 4.创建对象的格式 5.使用对象成员变量的格式 6.使用对象成员方法的格式 二.对象内存图 1.单个对象内存图 2.两个对象内存图(方法 ...

  4. javaSE各阶段练习题--工具类-常用类-递归-包装类-内部类

    1 创建一个Student 类 包含属性有 序号 姓名 年龄 生日 提供对应的setter/getter创建对象,完成赋值(setter赋值和构造方法赋值) 在控制台输出学生对象的信息,要求生日的格式 ...

  5. javaSE各阶段练习题--面向对象-多态-抽象类-接口

    1 (多态)定义榨汁机JuiceMachine 有榨汁方法makeJuice,传入相应的水果.如果传入的是Apple 输出 "流出苹果汁"传入的是Orange 输出 "流 ...

  6. javaSE各阶段练习题--面向对象-static-String-StringBuilder

    分析以下需求,并用代码实现:(1)定义数字字符串数组{"010","3223","666","7890987",&quo ...

  7. python 参数类型的多态_【Python】面向对象:类与对象\封装\继承\多态

    六.Python面向对象--类与对象\封装\继承\多态 1.什么是面向对象编程 1.1 程序设计的范式:程序可控,易于理解 1.2 抽象并建立对象模型 1.3 程序是不同对象相互调用的逻辑.每个对象在 ...

  8. Python之面向对象类和对象

    Python之面向对象类和对象 定义一个类:class 定义类的语法: class Test(object):"""类里定义一类事物共同的技能.可以是变量,也可是函数.& ...

  9. php面向对象——类和对象

    php面向对象--类和对象 1.类和对象 <?php //定义一个类: class A{public $name="John"; //定义一个普通属性static $age= ...

最新文章

  1. excel表格中IP地址排序
  2. java连接数据库代码写在哪里,jdbc连接数据库怎么做的。代码写哪里呀 求大神
  3. curl socket 访问_使用Curl、socket、file_get_contents三种方法POST提交数据 | 学步园
  4. bitsadmin命令(Windows下载文件命令)
  5. 学会了CopyOnWriteArrayList可以再多和面试官对线三分钟
  6. 需求迭代:迭代需求矩阵
  7. Zen Coding Visual Studio plugin 配置
  8. 体验c#面向对象的编程
  9. [机器学习]推荐系统介绍
  10. Adobe Reader 9.0记住阅读位置
  11. Pr常见问题,pr素材脱机后该如何恢复?
  12. 什么是字节 什么是数据包
  13. 前端合并单元格(行合并、列合并)
  14. 微信小程序开发者代码管理中,不想要的项目怎么删除
  15. 工行电子银行收费标准
  16. 数据挖掘:概念与技术笔记(一)引言
  17. c语言中getc函数,C语言中getc怎么用?
  18. 完美世界-游戏Java开发工程师-一面
  19. c语言实现utf-8编码解码器
  20. MMC子系统之SDIO卡驱动

热门文章

  1. 兰州大学第一届『飞马杯』程序设计竞赛 - ★★体育课排队★★(二分+最大流)
  2. POJ - 3635 Full Tank?(bfs)
  3. python自动点击脚本_[Python] 【Python3】教你写页游自动化Python脚本 3.取色,大漠识别和后台点击...
  4. ssh、私钥、密钥理解
  5. Java笔记——Java代码块的执行顺序
  6. pollard_rho大数分解Java版
  7. PTA 寻宝路线 (40 point(s))
  8. C++虚继承(八) --- 虚继承与继承的差异
  9. C++ 学习之函数重载、基于const的重载
  10. 详解Windows内存分页机制