(一)多态 多态:事物的多种表现形态【一个对象对应着不同的类型】 例如:猫既属于猫类,又属于动物类。 多态的弊端:不能调用对象的特有方法 对象的强制类型转换:需要判断instanceof 多态--成员变量:编译、运行都看左边 多态--成员函数:编译看左边、运行看右边 多态--静态函数:编译、运行都看左边 内部类 定义在类中的类,类中的类可以直接访问类中的成员 内部类中的成员如果有静态的,那么内部类必须为静态的 注意:局部内部类如果使用了局部变量,那么这些局部变量需要final修饰 //1. 内部类不是静态的
Outer.Inner in = new Outer().new Inner(); //2. 内部类是静态的 Outer.Inner in = new Outer.Inner(); //3. 静态内部类中的方法也是静态的 Outer.Inner.show(); 笔记本电脑案例 public class Demo3 { public static void main(String[] args) { Computer com = new Computer(); com.run(new Upan()); com.run(new Sxt()); } } interface USB{ public void run(); public void close(); } //笔记本电脑 class Computer{ public void run(USB usb){ usb.run(); usb.close(); } } //U盘 class Upan implements USB{ @Override public void run() { System.out.println("U盘插入"); } @Override public void close() { System.out.println("U盘拔出"); } } //摄像头 class Sxt implements USB{ @Override public void run() { System.out.println("摄像头插入"); } @Override public void close() { System.out.println("摄像头拔出"); } }
|