2020-01-04

java内部类
14:33

package oop;
//内部类
public class TestInnerClass {
    public static void main(String[] args) {
        //创建内部类对象
        Outer. Inner inner = (new Outer()).new Inner();//这个创建方法比较重要,通过括号看懂层次
        Outer.Inner inner2 = new Outer().new Inner();
        inner.show();
        inner2.show();
        
    }
}
class Outer {
    private int age = 10;
    public void testOuter() {}
        class Inner{//内部类可以直接使用外部类中的成员变量,外部类不能访问内部类的
            int age = 20;
            public  void show() {
                int age =30;
                System.out.println("外部类的成员变量age" + Outer.this.age);//outer.this 表示访问到了外部变量
                                                                     //Outer 是一个类名,要通过对象。成员,得通过
                                                                    // 对象名来操作,而此处还未定义对象名,因此需要
                                                                   // 用 this来表示当前的对象 
                System.out.println("内部类的成员变量age" + this.age);
                System.out.println("局部变量age" + age);
            }
        }
    }
    

静态内部类

package oop;
//测试静态内部类
public class TestStaticInnerClass {
    public static void main(String[] args) {
        Outer2.Inner2 inner = new Outer2.Inner2();//定义静态内部类,静态类对象不依托于对象的建立
    }
}

class Outer2 {
    static class Inner2 {
        
    }
}

匿名内部类

package oop;
//测试匿名内部类
// 适合只需要使用一次的类
public class TestAnonymousInnerClass {

    public static void main(String[] args) {
        TestAnonymousInnerClass.test01(new AA() { //由于test01的入口参数是接口,不能直接new,需要实现类,
            public void aa() {                    //此处不用实现类,可以通过匿名内部类来实现
                System.out.println("hello world");
            }
        });                                              
                                                          
    }
    
    public static void test01(AA a) {
        System.out.println("---------------------");
        a.aa();
    }
}

interface AA {
    void aa();
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在007的队伍里,任谁都想拥有源源不绝的灵感与能写得一手好文的最佳途径,且不管你是因为想要财富自由抑或是想要提升沟...
    007羊阅读 1,580评论 3 2
  • 距离从来无法阻隔心之所向的爱恋 即使漂洋过海 时间永远抹不去一吻定情的誓言 一吻就是三生三世...... 这一朵小...
    夏柒公子阅读 1,648评论 0 0
  • 最开始使用简书是为了方便记录在生活中的一些有趣的事情和感悟,顺便练练自己的表达能力。结果下载简书并注册已经有...
    旅途在前阅读 2,629评论 1 1
  • 关注脚下,才能走赢人生 关注寒冷,可以领略雪花的飘逸;关注温暖,可以欣赏万物的生机;关注崎岖,可以获得攻坚克难后的...
    二班班阅读 2,695评论 0 0
  • 熟悉我的人都知道小编是个开心主义者,干啥都“开心”排第一。我爸叫我“快乐天使”,朋友们说我不参加的活动,她们会觉得...
    shaelin阅读 3,372评论 0 1

友情链接更多精彩内容