Java SE复习3
1. 什么是多态:
Java中引用类型变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量使用的类型决定,运行时类型由实际赋给该变量的对象决定。那么如果运行时类型和编译时类型不一致,这就是多态。
2. 多态的方法重载和重写:
重载:方法重载值得是在同一个类中,多个方法名相同,参数列表不同(个数、类型、顺序),这就是重载。
重写:(覆写,覆盖) 方法重写值得是在继承中,如果父类中某个方法不能满足子类的需求,子类可以重写父类的这个方法,这就是方法重写。
3. 对象的多态:
向上转型: 子类对象----》父类对象
类似于基本数据类型的自动类型转换:
int a = 10;
double b = a;//自动类型转换
向下转型: 父类对象----》子类对象(向下转型前,一定要先完成一次向上转型)
类似于基本数据类型的强制类型转换:
doublea = 10.5;
intb = (int)a;
4. 什么是抽象类:
Java中有一种特殊的类,专门用来作为父类,这种类被称为“抽象类”。抽象类想模板一样,其目的是要设计者根据他的格式来修改并创建新的类。但是抽象类自己不能创建对象,只能通过抽象类派生出来的子类创建对象。
5. 抽象类的特点:
6. 包含抽象方法的类一定是抽象类.
抽象方法和抽象类都用关键字abstract修饰
构造方法,static方法都不能定义为抽象方法。
抽象方法不能使用private访问控制符修饰。
抽象方法只需要声明,不需要实现。
抽象类中可以定义构造方法,但是抽象类不能创建对象。
子类继承抽象类时,需要重写抽象类中所有的抽象方法,除非子类也是抽象类。