java中的内部类

1.静态内部类中然后访问外部类非静态成员
2.如何实例化静态类部类
3.如何实例化实例内部类
4.实例内部类中如何访问与外部类重名变量
class OutClass{
    public int b1=1;
    public static int b2=5;
    static class InnerClass1{//静态内部类
        public int b3=1;
        public static int b4=6;
        public void test(){
            System.out.println(b4);
            // 静态内部类中不能直接访问外部类的非静态的数据成员,但实例内部类可以
            //System.out.println(b1);
            //但可以
            OutClass o=new OutClass();
            System.out.println(o.b1);
            System.out.println("test执行");
        }
    }
    class InnerClass2{//实例内部类
        public int b5=3;
        public int b6=7;
        public int b2=3;//同名
        public void test2(){
            System.out.println(b2);//输出的是内部类b2=5;
            //访问同名成员
            OutClass o2=new OutClass();
            //输出的是外部类b2=3;
            System.out.println(o2.b2);
            System.out.println(OutClass.this.b2);
            //输出的是内部类b2=5;
            System.out.println(this.b2);
        }
    }
}
public class Teat {
    public static void main(String[] args) {
        //静态内部类实例化
        OutClass.InnerClass1 i1=new OutClass.InnerClass1();
        i1.test();
        //实例化一个实例内补类
        OutClass outClass=new OutClass();
        OutClass.InnerClass2 i2=outClass.new InnerClass2();
        i2.test2();
    }
}
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值