4、多态的好处(了解)
增强了程序的扩展性和可维护性
5、基本类型 和 引用类型中类型转换问题(掌握)
1、基本类型:隐式转换(小到大),强制转换(大到小)。
隐式转换:
byte b = 1;
int i = b;
强制转换:
int i = 1;
byte b = (byte)i;
2、引用类型:向上转型(小到大),向下转型(大到小)。
向上转型 (由小到大):
Zi zi = new Zi();
Fu fu = zi;
向下转型 (由大到小):
Fu fu = new Fu();
Zi zi = (Zi)fu;
3、引用类型转换过程中的问题
java.lang.ClassCastException : 类型转换异常
该异常产生的原因:类型不匹配
一个父类的引用指向的是狗,要把这个父类的引用强制转换成猫,所以不行
Animal animal = new Dog();
Cat cat = (Cat)animal;//因为animal存储的是狗,强转成猫就会报错
5、抽象类和抽象方法(掌握)
1、抽象方法
只有方法声明,没有方法体的方法称为抽象方法,该方法被abstract修饰
2、抽象类
如果一个类中含有抽象方法,这个类就可以被称为抽象类。该类也需要被abstract修饰
3、格式
定义抽象类的格式
abstract class Animal{
abstract void eat();
public void run(){
System.out.println("我在跑步");
}
}
使用格式1
定义个普通类,继承抽象类,必须实现抽象类中的抽象方法
class Dog extends Animal{
void eat(){
System.out.println("狗吃骨头");
}
}
使用格式2
定义一个抽象类继承抽象类,不是必须要实现父类的抽象方法
abstract class ChongWu extends Animal{
} |