Object 多态 转型 抽象 接口
1.object
是java所有类的父类
因为java单继承机制,如果一个类有显示的继承其他类,如果没有显示继承,会默认继承自Ojbect类
1) toString() 把对象以字符串的形式显示
2) equals() 方法 可以比较对象是否相等
2.多态
多态的表现形式:父类的引用(直接父类|间接父类)指向子类的对象
多态的前提: 类的继承|接口的实现
多态的使用特点: 多态引用调用的时候,会调用子类中重写的方法,如果没有重写,会调用父类的内容 多态调用时,会子类新增内容不可见
多态调用类中成员的特点:
成员变量:编译运行看父类|左边|类型
成员方法 :编译看父类|左边|类型,运行看子类|右边|对象
3.转型
一个基类的引用类型变量可以“指向”其子类的对象。
一个基类的引用不可以访问其子类对象的新增成员(包括属性和方法)。
子类对象可以当作基类的对象来使用,称作向上转型(upcasting),反之称为向下转型
4.抽象
用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。
含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写
抽象类不能被实例化
抽象方法只需声明而不需要实现
抽象类除了包含抽象方法外,还可以包含具体的变量和具体的方法。类即使不包含抽象方法,也可以被声明为抽象类,防止被实例化。
抽象类不能被实例化,也就是不能使用new关键字来得到一个抽象类的实例,抽象方法必须在子类中被实现。
5.接口
使用interface定义接口 是一个特殊的抽象类
接口的优点:
接口可以多实现,而类只能单继承
接口定义规范
解耦: 降低耦合度
提高代码的复用性
工作中接口的作用:->功能的集合->抽象方法的集合
特点:
1.接口不能实例化(因为接口中有抽象方法)
2.类去实现接口 使用implements关键字
3.一个类可以实现多个接口,但是只能继承一个父类
4.如果一个类既实现了多个接口,也继承了父类,需要先继承后实现
5.接口和类之间只能类实现接口
6.接口和接口之间,不能实现只能继承,接口可以多继承接口,就拥有了每一接口中的功能
7.接口的使用 具体的实现类使用:重写所有的抽象方法+按需新增
抽象的实现类:按需重写+按需新增