A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈振兴 中级黑马   /  2012-9-10 14:33  /  1702 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
* 匿名内部类最简单的理解方式
*
* 为什么用内部类?
* 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基础!我也正在做着同样的事情……加油了!希望都在快乐中学习!
*/

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
很给力的,顶你!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马