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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhangyangLengen 中级黑马   /  2014-10-31 16:27  /  945 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

匿名内部类和一般类什么区别

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
内部类是一种类的结构设计,一般指的是一个物体里面还有物体。
回复 使用道具 举报

回帖奖励 +3

内部类就是类中设置了类,和普通类的却别在于:部类可以直接访问外部类中的成员。而外部类想要访问内部类,必须要建立内部类的对象。
当内部类定义在外部类中的成员位置上,可以使用一些成员修饰符修饰 private、static。
1:默认修饰符。
直接访问内部类格式:外部类名.内部类名 变量名 =  外部类对象.内部类对象;
Outer.Inner in = new Outer.new Inner();//这种形式很少用。
        但是这种应用不多见,因为内部类之所以定义在内部就是为了封装。想要获取内部类对象通常都通过外部类的方法来获取。这样可以对内部类对象进行控制。
2:私有修饰符。
        通常内部类被封装,都会被私有化,因为封装性不让其他程序直接访问。
3:静态修饰符。
        如果内部类被静态修饰,相当于外部类,会出现访问局限性,只能访问外部类中的静态成员。
        注意;如果内部类中定义了静态成员,那么该内部类必须是静态的。

内部类编译后的文件名为:“外部类名$内部类名.java”;
回复 使用道具 举报
嗯,不错
回复 使用道具 举报
内部类
1.在内的内部直接创建一个接口的一个实现类对象叫匿名内部类(常用)
2.在类的外部如何创建内部类的对象?
@1:对于非静态内部类,必须先创建外部类对象,然后再创建内部类对象。
        outClass oc=new outClass();//先创建外部类对象
        innerClass ic=oc.new innerClass();//然后创建内部类对象
@2:对于静态内部类,可以用外部类命.内部类名的方法来创建对象
        StaticInnerClass sic=new OutClass.StaticInnerClass();
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马