面向过程与面向对象的区别:
面向过程:凡事亲历亲为,所有的事情都自己做(强调功能)
面向对象:不是所有的事情都自己做,指挥别人去做(强调具备功能的对象)
重点 :角色发生了变化,由执行者变成了指挥者。
面向对象的三大特征:继承 封装 多态
面向对象有哪些东西组成?
答:由 类 引用 对象 三部分组成
类
:用来描述一个事物的抽象概念 类其实就是一个模板
特征:属性 有什么 | 不同叫法:属性==成员变量==字段==域==field
- 行为:方法 会什么 | 不同叫法:方法==成员方法==函数==method
类的特点:
- 类是对象的类型
- 具有相同的属性和方法的一组对象的集合
类在客观世界里是不存在的, 只是用来描述对象信息,是抽象的概念,
现实世界中,我们定义了“人”“猪”“鸟”这种抽象概念,而具体的人则是“小明”、“小红”、“小军”等一个个具体的人。所以,“人”可以定义为一个类(class),而具体的人则是实例(对象)。
飞机设计图就相当于类(抽象虚拟),真正制造出来并呈现在你面前的飞机是new出来的对象(现实) 。
对象
:类的实例化个体
类和对象的关系:
类
仅仅是模板, 比如说 : "手机";"汽车",
类是模子, 确定对象将会拥有的特征(属性)和行为(方法)对象
是一个能看得到, 摸得着的具体实物
引用:用来操作对象的特征(属性)和行为(方法)
三者的关系: 类 引用= 对象
例:
Scanner sc = new Scanner();
Random r = new Random();
类 引用 = 对象;
现实世界 计算机模型 Java代码
人 类 / class class Person { }
小明 实例 / ming Person ming = new Person()
小红 实例 / hong Person hong = new Person()
小军 实例 / jun Person jun = new Person()
例: 学生类
有什么: 姓名 年龄 学号
属性的声明的语法:
权限修饰符 数据类型 属性名;
[权限修饰符] String name;
[权限修饰符] int age;
会什么: 学习 打游戏
行为的声明语法:
权限修饰符 返回值类型 方法名(参数列表){方法体}
public void study(String str){
System.out.println("学习"+str);
}
- 实例化对象(创建出一个对象)
格式:对象名 = new 构造方法()
,例如:Car chencar = new Car();
属性的调用
格式:对象名.属性
,例如:car.color = "black"; (给"car“这个对象的”color“属性赋值”black“)
方法的调用
格式:对象名.方法名([参数列表])
Java 支持两种调用方法的方式,根据方法是否返回值来选择。
当程序调用一个方法时,程序的控制权交给了被调用的方法。当被调用方法的返回语句执行或者到达方法体闭括号时候交还控制权给程序。- 当方法返回一个值的时候,方法调用通常被当做一个值。例如:
bools a=new bools(33,6);
- 如果方法返回值是void,方法调用一定是一条语句。 例如:
System.out.println(chen.name);