面向对象
一、什么是对象
二、什么是面向对象
三、什么是类
四、什么是属性
五、什么是方法
六、类和对象的关系
什么是对象
- 万物皆对象
- 对象:用来描述客观事物的一个实体,由一组属性和方法构成
什么是面向对象
- 人关注对象
- 人关注事物信息
类
- 类确定对象将会拥有的特征(属性)和行为(方法)
- 类的特点
- 类是对象的类型
- 具有相同属性和方法的一组对象的集合
什么是对象的属性和方法
- 属性:对象具有的各种属性静态特征(有什么)
- 方法:对象具有的各种动态行为(能做什么)
类和对象的关系
- 类是抽象的关系,仅仅是模板
- 对象是一个你能看的到、摸得着的具体实体
- 类是对象的类型
- 对象是特定类型的数据
- 具体开发过程中,先定义类再实例化对象
单一职责原则
- 单一职责原则,也称为单一功能原则
- 英文Single Responsibility Principle缩写SRP
- 是面向对象设计的一个重要原则
- 一个类,应该有且只有一个引起变化的原因
- 在程序设计中,尽量把不同的职责,放在不同的职责中,即把不同的变化原因,封装的不同的类中
对象实例化
- 对象实例化的过程可以分为两个部分:
- 声明对象 Cat one
- 实例化对象 new Cat();
- Cat one=new Cat();
对象实例化
- 每次new一个对象会产生新的实例化对象
- Cat one=new Cat();
- Cat tow =new Cat();
对象实例化
- 多个对象可以指向同一块实例化空间
- Cat one=new Cat();
- Cat two=one;
对象实例化
- 对象必须实例化才能使用
- 对象间的引用传递,实际上传递的是堆内存空间的使用权
构造方法
- 构造方法与类同名且没有返回值
- 构造方法的语句格式
- 只能在对象实例化的时候调用
- public 构造方法名(){
- //初始化代码
- }
构造方法
- 当没有指定构造方法时,系统会自动添加无参的构造方法
- 当有指定的构造方法,无论是有参、无参构造方法,都不会自动添加无参的构造方法
- 一个类中可以有多个构造方法
this关键字
调用成员变量,解决成员属性和局部变量同名冲突
调用成员方法
- this的使用
调用重载的构造方法
public Cat(){
System.out.prinln("我是无参构造");
}
public Cat(String name){
this();//必须是构造方法的第一条语句
this.name=name;
System.out.prinln("我是单构造");
}