JAVA基础复习(三)继承、多态、抽象类和接口

1、超类也称为父类或者基类,次类又称为子类或者拓展类、派生类。子类从它的父类中继承可访问的数据域和方法,还可以添加新数据域和新方法。

2、继承:子类并不是父类的一个子集,子类比它的父类包含更多的信息和方法;父类中的私有数据域在该类之外是不可访问的;不是所有是一种关系都应该用继承来建模,但是继承是用来是为是一种关系建模的;java是单一继承的,即不应许多重继承

3、关键字super指代父类,可以用于调用父类中的普通方法和构造方法

4、继承的子类会直到最后一个构造方法建立一个构造方法链,如果要设计一个可以被继承的类,最好提供一个无参构造方法避免程序出错。

5、方法重写即子类需要修改父类中定义的方法的实现,仅当实例方法是可访问时,它才能被覆盖,静态方法也能被继承,但是不能被覆盖,如果父类中的静态方法在子类中被重新定义,可以通过父类名.静态方法名调用隐藏的静态方法

6、多态:意味着父类的变量可以指向子类,使用父类对象的地方都可以使用子类的对象

7、动态绑定:调用方法由的实际类型决定,即由等号右边决定,左边为声明类型,这个过程称为类型转换

8、instanceof可以用于判断两个数据类型是否可以隐身转换成功(oneObject instanceof otherObject 即可,为Boolean型)

9、隐式转换即向上转换,显示转换即向下转换,例:苹果总是一种水果,但是水果不一定是苹果

10、protected成员可以被子类访问

11、防止类拓展可以使用final来修饰,即最终类

12、抽象类不可以用于创建对象,包含抽象方法,具体在子类中实现,类使用abstract修饰,方法使用protected修饰

13、如果抽象父类的子类不能实现其父类的所有抽象方法,那么子类也必须定义为抽象类

14、接口只包含常量和抽象方法,接口用interface修饰,默认public static final修饰变量和public abstract修饰方法,所以可以省略方法

15、接口和抽象类都定义了对象共同的行为,在是一种关系中较强的父子关系使用类建模,是一类关系使用接口建模

16、可以结合抽象类和接口的优点,创建一个接口,使用一个抽象类来实现它(接口不能有具体方法,抽象类可以)

猜你喜欢

转载自blog.csdn.net/qq_37575994/article/details/83420824
今日推荐