黑马程序员技术交流社区

标题: 匿名内部类最简单的理解方式 [打印本页]

作者: 陈振兴    时间: 2012-9-10 14:33
标题: 匿名内部类最简单的理解方式
/**
* 匿名内部类最简单的理解方式
*
* 为什么用内部类?
* 1)某类中访问另外一个类中的私有类。2)某一个类中的对象依赖于另一个类的对象。
*
* @author xinglefly
* @version 1
*/
       
/*如人和心脏是一体的吧!心脏是依附人体而存在,你去看病的时候,你说心脏有点不好,不可能医生就把你心脏拿出来吧!
*抽象到程序当中:
*/

//为什么把心脏抽象成接口,因为每个人都有,心脏的健康状态不一样,抽象出来
interface Hear{
        //跳动
        void jump();
}


//定义Person类
class Personss{
        String name;//名字   
       
        Personss(String name){
                this.name=name;
        }
       
        public void seeDoctor(){//看医生去了
                   new Hear(){
                      public void jump(){
                         System.out.println(Personss.this.name+" 你的心脏不太好了,先做个心电图……");
                      }
                   }.jump();
        }
}
//匿名内就是如此!
//回头再看这些专业术语就ok!
/*一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类,没有类名,根据多态,我们使用其父类名。
因其为局部内部类,那么局部内部类的所有限制都对其生效。
匿名内部类是唯一一种无构造方法类。
匿名内部类在编译的时候由系统自动起名Out$1.class。

如果一个对象编译时的类型是接口,那么其运行的类型为实现这个接口的类。
因匿名内部类无构造方法,所以其使用范围非常的有限。*/

/*回到java,别看一个简单的列子,体现了
* java的核心:
* 面向对象:以数据抽象为导向;
* 面向过程: 以业务逻辑为导向。
*
* java的4大机制中的:抽象,继承,封装都体现了。
*
* 得慢慢的融会贯通!希望同学们能打好java基础!我也正在做着同样的事情……加油了!希望都在快乐中学习!
*/


作者: 杨习平    时间: 2012-9-10 15:16
很给力的,顶你!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2