黑马程序员技术交流社区
标题: java基础面向对象的理解之多态 [打印本页]
作者: 周发建 时间: 2016-3-22 09:37
标题: java基础面向对象的理解之多态
(一)多态多态:事物的多种表现形态【一个对象对应着不同的类型】
例如:猫既属于猫类,又属于动物类。
多态的弊端:不能调用对象的特有方法
对象的强制类型转换:需要判断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("摄像头拔出");
}
}
作者: 周发建 时间: 2016-3-22 09:51
希望有点意义
作者: LLQALLQ 时间: 2016-3-22 13:34
学习了,谢谢同学的分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |