Java正式day_11——面向对象03
-
getters()和setters()方法,封装的一种体现,使用共有的方法,去获取或设置私有的属性。
-
方法的重写(override,rewrite):子类将父类方法覆盖。和多态结合在一起,可以实现灵活的编程。
-
抽象类:加上abstract修饰表示抽象类 ,类的成员部分暂不明确。
抽象类特点:
-
抽象类使用abstract关键字定义。
-
抽象类不能实例化。
-
抽象类主要作用: 1.作为其他类的父类;2.可以提供静态成员;3.不知道如何定义行为。
-
抽象类中可以没有抽象方法,由抽象方法的类,必须是抽象类。
-
如果一个子类,继承了抽象类,但没有实现抽象方法的话,那么依旧定义成抽象类。
抽象方法:没有提供实现的方法的。
接口:(jdk1.8以前)无封装、无继承、有多态
-
接口不是类。抽象类是类。
-
接口和抽象类很相似。接口中的方法全部是公有抽象方法。
-
接口只能有抽象方法和静态常量(public、static & final)。
-
面向接口编程。
实现接口: implements
(接口中可以有静态方法和属性)
-
接口中可以有静态方法,通过接口名.方法名访问。
-
接口中可以有默认方法,默认方法会被继承到实现类中。
对象之间的三种关系:
-
A is B 继承、实现
-
A have B 一个对象拥有另外一个对象。 出现多态
-
A use B 一个对象使用另一个对象。 出现多态
final :关键字
-
修饰成员变量,成员变量变成常量。
-
final修饰成员方法,子类不能重写方法。
-
final修饰类,不能被继承。