美文网首页
java-内部类的创建

java-内部类的创建

作者: 简单的活着_ | 来源:发表于2018-10-21 22:16 被阅读0次

    java 创建内部类时离不开他的外围类,除非内部类是嵌套类(即静态内部类),嵌套类中的内部类也是如此 比如:

    public class TestStaticiInnerClass {

        private static class InnerA{

            public void f(){

                System.out.println("this is static inner class method");

            }

            public class InnerB{

                public void g(){

                    System.out.println("this is InnerB mehtod");

                }

            }

        }

        public static void main(String[] args) {

            InnerA a = new InnerA();

            a.f();

            InnerA.InnerB b = a.new InnerB();

           b.g();

        }

    }

    1)调用f()方法:

    首先InnerA是一个嵌套类(静态内部类)  该嵌套类中有一个内部类InnerB,

    由于InnerA是嵌套类 所以调用它里面的非静态方法f()时 需要创建InnerA对象 除非方法f()是静态的

    而无需它的外围类TestStaticiInnerClass对象。

    2) 调用g()方法:

    由于g()方法属于InnerB 而InnerB不是嵌套类,所以调用g()方法需要首先创建InnerB对象

    上面说了 InnerB不是嵌套类 而是普通内部类,要创建它的对象必须要知道它的所属外围类 

    即:外围类.内部类  引用 = 外围类引用.new 内部类();

    另外:普通的内部类中是不能有静态数据和字段的 这点在编译期间就能发现。

    相关文章

      网友评论

          本文标题:java-内部类的创建

          本文链接:https://www.haomeiwen.com/subject/izvizftx.html