首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

内部类的四种兑现方式

2012-12-27 
内部类的四种实现方式内部类分为四种:1.成员内部类2.局部内部类3.静态内部类4.匿名内部类1.成员内部类 Jav

内部类的四种实现方式
内部类分为四种:

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);    }}

热点排行