[問題] non-satic variable this cannot be...

看板java作者 (~"~)時間14年前 (2012/01/20 22:56), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
不多說 code 很短 直接貼上code import java.util.*; public class Access { class Super{ String A = "SUPER"; void Print(){ System.out.println("Hey I am Super my a is " + A); } } class Sub extends Super{ String A = "SUb"; void Print(){ System.out.println("Hey I am Sub my a is " + A); } } public static void main(String args[]){ Sub sub = new Sub(); Super sup = sub; } } 結果compile 之後 出現了這個訊息 Access.java:18: non-static variable this cannot be referenced from a static context Sub sub = new Sub(); ^ 1 error 想請問是為什麼呢? 我知道如果把那兩個class 拉到主class 的外面就會過了 不過主要是想知道為什麼... Sub sub = new Sub() -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.114.85.48

01/20 23:12, , 1F
class包class 會變成內部類別 參考如下
01/20 23:12, 1F

01/20 23:15, , 2F
01/20 23:15, 2F

01/21 10:56, , 3F
Sub sub = new Access().new Sub(); 或 static class Sub
01/21 10:56, 3F
文章代碼(AID): #1F6O24a2 (java)