2. 多态的定义
事物在运行过程中存在不同的状态
3. 多态的存在有三个前提:
1.要有继承关系 extends
2.子类要重写父类的方法 override
3.父类(接口)的引用指向->子类(实现)的对象
4. 成员特点
5. 多态的弊端
不能使用子类特有的成员属性和子类特有的成员方法。
6. 代码举例
public class Xiaojie {
int age = 30;
static char cup = 'B';
public void service() {
System.out.println("小姐在服务");
}
public static void relax() {
System.out.println("小姐在休息");
}
public void avoidPolice() {
System.out.println("小姐在躲警察");
}
}
public class Waiwei extends Xiaojie{
int age = 25;
static char cup = 'D';
@Override
public void service() {
System.out.println("外围在服务");
}
public static void relax() {
System.out.println("外围在休息");
}
public void vipService() {
System.out.println("外围提供VIP服务");
}
}
public class Test {
public static void main(String[] args) {
Xiaojie wow= new Waiwei();
wow.service();//重写方法
wow.relax();//静态方法,不规范
wow.avoidPolice();//未重写方法,来自子类继承父类的方法
//wow.vipService();//点不出来,并且报错
System.out.println(wow.age);//左,左
System.out.println(wow.cup);//静态变量,不规范
//以上为向上转型
//以下为向下转型
//目的是访问子类特有变量和方法
Waiwei ahah = (Waiwei)wow;
ahah.service();
ahah.relax();
ahah.vipService();
ahah.avoidPolice();//子类继承父类的方法
System.out.println(ahah.age);
System.out.println(ahah.cup);
}
}
==================================
外围在服务
小姐在休息
小姐在躲警察
30
B
外围在服务
外围在休息
外围提供VIP服务
小姐在躲警察
25
D
网友评论