java - 抽象內部類別+泛型
给我你的怀抱
给我你的怀抱 2017-05-17 10:00:28
0
1
898

簡單的內部類別使用:

public class OuterClass {
    public OuterClass() {
    }

    public abstract class InnerAbstractClass {
        public void a() {

        }
        public abstract void absMethod();
    }
    
    public void test() {
        new OuterClass().new InnerAbstractClass() {
            public void absMethod() {

            }
        };
    }
    
    public static void main(String[] args) {

        new OuterClass().new InnerAbstractClass() {
            public void absMethod() {

            }
        };
    }
}

在上面範例中加入泛型

public class OuterClass<T> {
    public OuterClass() {
    }

    public abstract class InnerAbstractClass {
        public void a() {

        }
        public abstract void absMethod();
    }

    public void test() {
        new OuterClass().new InnerAbstractClass() {
            public void absMethod() {

            }
        };
    }

    public static void main(String[] args) {

        new OuterClass().new InnerAbstractClass() {
            public void absMethod() {

            }
        };
    }
}

在test方法中呼叫內部類,編譯正確。在main方法中報錯,cannot be referenced from a static context
如果在另一個新建的類別中呼叫內部類別不報錯

public class OuterClassTest {
    public static void main(String[] args) {
        new OuterClass().new InnerAbstractClass() {
            public void absMethod() {

            }
        };
    }
}

為什麼? ? ?

给我你的怀抱
给我你的怀抱

全部回覆(1)
巴扎黑

呵呵,點沒幫助的那位,自己複製程式碼運行一下,編譯沒問題!沒有問題!

不會用ide就老實自己javac

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板