多态
对象的多种形态 继承是实现多态的基础
1,引用多态
父类的引用可以指向本类的对象
父类的引用可以指向子类的对象
2,方法多态
创建本类对象时,调用的方法为本类方法
创建子类对象时,调用的方法为子类重写的方法或者继承的方法
引用类型转换
1,向上类型转换(隐式,自动类型转换),是小类型到大类型的转换
2,向下类型转换(强制类型转换),是大类型到小类型的转换
就像茶杯和茶壶的关系一样
使用instanceof运算符,避免类型转换的安全性
1 //属于向上类型转换,是安全的 2 Animal animal = new Dog() 3 if(animal instanceof Cat) 4 Cat cat=(Cat)animal; 5 else 6 System.out.println("无法进行类型转换");
- 什么是抽象类?
- 包含抽象方法的类是抽象类
- 抽象类中可以包含普通的方法,也可以没有抽象方法
- 抽象类不能直接创建,可以定义引用变量
- 抽象方法没有函数体,以分号结束
- public abstract class Telephone{ public abstract sendMessage();}
- 什么是接口?
- 接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成
- interface前面若没有abstract,则系统会自动加上
- 接口的修饰符一般使用public, 不能使用protected和private来修饰
- 接口中的属性是常量,即使定义时不添加,系统会自动加上public static final
- 接口中的方法只能是抽象方法,即使定义时不添加,系统会自动加上public abstract
- 注意在接口命名的时候,可以在类名前面加上一个I,表示这是接口
- 接口的引用可以直接指向实现接口的类的对象