内部类的四种实现方式

内部类分为四种:

1.成员内部类
2.局部内部类
3.静态内部类
4.匿名内部类
1.成员内部类 
Java code
   
   
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> // 成员内部类......相当于非静态方法 class MemberInner { private int a = 3; public class Inner2 { private int a = 2; public void doSomething() { // 调用外部类的属性 System.out.println(MemberInner. this.a); // 这块要注意......很重要!!! System.out.println(a); } } } public class Test3 { public static void main(String[] args) { MemberInner.Inner2 inner2 = new MemberInner(). new Inner2(); // 非静态内部类要new实例 inner2.doSomething(); } }


2.静态内部类
Java code
   
   
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> // 静态内部类......相当于静态方法 class StaticInner{ private static int a=3; public static class Inner{ public void test(){ System.out.println(a); } } } public class Test2 { public static void main(String[] args) { StaticInner.Inner inner= new StaticInner.Inner(); // 静态内部类直接调用 inner.test(); } }

3.局部内部类 
Java code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
//局部内部类......相当于局部变量
class LocalInner {
    public void doSomething(int b) {
        final int a = 3;// 只能访问final的变量
        class Inner3 {
            public void test(int b) {
                System.out.println(b);
                System.out.println(a);
            }
        }
        new Inner3().test(b);
    }
}

public class Test4 {
    public static void main(String[] args) {
        LocalInner inner = new LocalInner();
        inner.doSomething(4);
    }
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值