浅谈java内部类

来源:互联网 发布:中山大学网络在线缴费 编辑:程序博客网 时间:2024/04/29 13:14

近端时间学习think in java的内部类,有点感觉,特总结一下,如有错误,望指点,谢谢!

1. 如要生成内部类,需要先实例化外部类,以层级关系,逐步生成内部类。

2. 内部类如果为static,则无需声明外部类,可以直接调用

3. 接口里面设置static内部类,可以写方法内容,因为static符合interface属性,不会破坏interface规则

4. 要继承内部类,需要特殊的继承方式,详见代码


package thinkinjava;/** * Created by wanghao on 14-7-16. */interface Inner {    static class TestInner {        static int i = 1;        public void hello() {            System.out.println("hello");        }    }}class InnerInner {    public void innerInner() {        System.out.println("innerInner");    }    class InnerInnerInner {        public void test() {            System.out.println("test");        }    }    static class StaticInnerTest {        public void staticInnerTest() {            System.out.println("staticinnertest");        }    }}public class InnerTest extends InnerInner.InnerInnerInner implements Inner {    //继承内部类特殊语法    InnerTest(InnerInner in) {        in.super();    }    public static void main(String[] args) {        //内部类static则无需生成外部实例        InnerInner.StaticInnerTest staticInnerTest = new InnerInner                .StaticInnerTest();        staticInnerTest.staticInnerTest();        //接口内部类,可以写代码        TestInner testInner = new TestInner();        testInner.hello();        //内部类建立准则,层级关系        InnerInner innerInner = new InnerInner();        InnerInner.InnerInnerInner innerInnerInner = innerInner.new                InnerInnerInner();        innerInnerInner.test();    }}


0 0