java多态

1 什么是多态:同一类别有多种表现形式,比如员工有管理人和技术人员

2 java中怎么实现多态:继承与实现是Java中多态的基础,使用时就是父类对象的引用指向子类对象(或者实现类)

Fu fu = new Zi();

3 关于成员变量与成员方法的调用

成员变量:等号左边是谁,则用谁,没有向上找(编译看左边,运行还看左边)

成员方法:new出来的是谁,就用谁,没有向上找(编译看左边,运行看右边)

1 public class Fu{
2      public int a=10;
3      public void methodFu(){
4             System.out.println("fu类方法");
5 }
6            
7 }    
1 public class Zi extends Fu{
2         public int a=5;
3         public void methodZi(){
4       System.out.println("zi类方法");
5 }
6 }    
1 public class Test{
2   public static void main(String[] args){
3         Fu  fu = new ZI(); // 多态写法
4         fu.a    //10
5         fu.methodZi();   //父类没有会报错
6 }
7 }    

4 多态的好处

左边的对象类型可以统一

5对象的向上转型

就是多态的写法,一定是安全的,但是存在子类存在的方法如果父类中不存在,则无法使用

6对象的向下转型

和强制类型转换类似,子类必须是对应的类型,如果类型不匹配,就会出错classcastExecption

7instanceof 关键字  防止向下转型错误

animal instanceof Dog  判断是否为Dog类

对象名 instanceof  类型

上一篇:进制位


下一篇:java基础——day07-1 继承、super、this、抽象类