1.一共有两种类型的强制类型转换
1)向上类型转换(upcast):将子类型转换成父类型,不需要显式指定。
2)向下类型转换(downcast):将父类型转换成子类型,需要显式指定。
2.抽象类
1)需要使用abstract关键字。
2)抽象类不能生成对象即不能实例化。
3)包含抽象方法的类一定要声明成抽象类
3.抽象方法
1)需要使用abstract关键字。
2)有声明无实现(没有花括号,有花括号叫空实现),用分号结束。
3)抽象方法需要定义在抽象类中(抽象类中可以包含具体方法)。
4.在继承抽象类时,子类必须实现父类中的所有抽象方法,否则子类应该声明为抽象类
5.接口(interface) :接口的地位等同于class,接口中的所有方法都是抽象方法,其中的方法可以省略abstract关键字。
可以把接口看作特殊的抽象类
6.类可以实现接口,需要使用implements关键字,代表某个类实现了某个接口
如果有一个类实现了某一个接口,如果这个类不是抽象类的话,那么这个类必须实现接口中声明的所有方法
7.Java是单继承的,也就是说一个类只能有一个父类,但是一个类可以实现多个接口,多个接口之间使用逗号分隔。
一个类可以在继承一个类的同时实现多个接口
8.所谓多态就是父类型的引用可以指向子类型的对象,或者接口类型的引用可以指向实现该接口类的实例,关于接口与实现接口的类之间的强制类型转换方式与父类和子类之间的强制类型转换方式完全一样。