面向对象编程(oop)
本质:以类的方式组织代码,以对象的形式封装数据
三大特性:封装,继承,多态
p62***
类是抽象的数据类型,对象是抽象概念的具体实例
构造器
一个类什么都不写,也会存在一个方法,就是构造方法
构造器也叫构造方法,它的名字必须与类相同,必须没有返回类型,也没有void
构造器的作用
- 实例化初始值
- 使用new关键字必须有构造器
- 生成有参构造就必须手动定义无参构造
- this.传递参数
封装
属性私有,get/set
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
封装意义:保护数据,隐藏实现细节,统一接口,提高可维护性
继承
继承是对类的抽象。
继承是类与类之间的关系
extends
在java中,所以的类默认继承直接或间接object类
super
调用父类的构造方法且必须在子类第一行
只能出现在子类的方法和构造方法中
super和this不能同时调用构造方法
VS
this
- 代表的对象不同:this是本身的对象,super是父类的对象
- this没有继承也可以使用,super必须在继承条件下
- this();是本类的构造,super();是父类的构造
方法的重写
非静态
public的
子类的方法和父类一致,方法体不同
多态
1.多态是方法的多态
2.父类和子类,有联系
3.存在条件:继承关系,方法需要重写,父类引用指向子类对象
抽象类
- 抽象可以是对方法的约束
- 抽象类的方法,继承了它的子类必须要实现它的方法,除非子类也是抽象的
java的类是单继承,但是接口可以多继承
抽象类的特点:
1.不能new抽象类,只能靠子类实现,只是约束
2.抽象类可以写普通方法
3.抽象方法必须在抽象类中
接口
只有规范,自己无法写方法,接口都需要有实现类,实现接口的类需要重写接口的方法
接口中所有的定义都是抽象的
接口的作用
1.约束
2.定义一些方法,让不同的人实现
3.方法都是public abstract
4.属性都是public static final
5.接口不能被实例化
6.接口可以实现多个,用·implements实现
7.必须要重写接口的方法