黑马程序员技术交流社区

标题: 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