JAVA内部类:多态和匿名内部类的结合使用

//父类

public class Fu{

  public abstract void eat();

  public abstract void sleep();

}

//main方法中:

把子类对象赋值给父类变量

Fu f 这是父类变量,下面红色代码块实际就是子类的匿名对象

Fu f = new Fu(){

  //重写方法

  public void eat(){

    System.out.println("吃饭");

  }

  public void sleep(){

    System.out.println("睡觉");

  }

}

f.eat();

f.sleep();

多态的特点:编辑看左边,运行看右边

Animal c = new Cat();   左边是 Animal 类(或接口)  右边是 Cat()类; 
在编译的时候编译器不管你右边是什么类,只要左边的Animal类(或接口)能编译通过就不会报错。
但是运行的时候就要按照右边的Cat()类实际情况来运行。
posted on 2018-06-04 04:13  adamal  阅读(454)  评论(0)    收藏  举报