Java外部类(非静态)访问内部类(静态非静态)

本文探讨了Java中外部类如何访问内部类,包括静态和非静态内部类的访问方式,结合实例深入解析了这一关键特性在单例模式等场景的应用。
摘要由CSDN通过智能技术生成

Java外部类(非静态)访问内部类(静态/非静态)

public class OutClass {
   
    public int a1 = 1;
    public static int b1 = 1;
    public void outerConMethod(){
   
        System.out.println("外部类的普通方法!");
        /*1、外部类非静态方法访问实例内部类非静态方法, 和成员*/
        //方法1: 获取get方法中new的实例内部类对象来调用
        getInstance().instanceConMethod();
        a1 = getInstance().b2;
        getInstance().a2 = 3;
        //方法2: 不调用get方法,自己new对象来引用
        instanceInnerClass inner1 = new instanceInnerClass();
        inner1.instanceConMethod();
        //方法3: 外部类.内部类然后在new对象(繁琐不推荐)
        OutClass.instanceInnerClass inner2 = new OutClass.instanceInnerClass();
        inner2.instanceConMethod();

        /*2、外部类非静态方法访问静态内部类静态方法, 和成员*/
        //直接调用即可
        staticInnerClass.innerStaticMethod();
        System.out.println(staticInnerClass.b3);

        /*3、外部类非静态方法访问静态内部类非静态方法, 和成员*/
        //方法1: new 外部类.内部类
        OutClass.staticInnerClass staticInner1 = new OutClass.staticInnerClass();
        staticInner1.InnerConMethod();
        System.out.println(staticInner1.a3);
        
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值