關(guān)于這道題中的this如何使用的問(wèn)題
這道題中內(nèi)部類(lèi)輸出的那個(gè)地方我用eclipse打的時(shí)候
??//外部類(lèi)的私有屬性name ????private?String?name?=?"imooc";//這個(gè)就要加上static ?…… ?public?class?Inner?{ ??String?name?=?"愛(ài)慕課"; ????????//內(nèi)部類(lèi)中的方法 ??public?void?show()?{? ???System.out.println("外部類(lèi)中的name:"?+?HelloWorld.this.name);//不加this那前面必須為static類(lèi)型,這個(gè)為什么 ???System.out.println("內(nèi)部類(lèi)中的name:"?+?name??); ???System.out.println("外部類(lèi)中的age:"?+?age); ??} ?}
我就沒(méi)明白:
1.為什么不加this會(huì)報(bào)錯(cuò),(HelloWorld.this.name)
2:也是就是改正這個(gè)問(wèn)題為什么要么加上this,要么就把外部類(lèi)加上static
2020-04-27
很多都是規(guī)則,多寫(xiě)寫(xiě)就慢慢理解了
2020-04-12
你要把HelloWorld.this看做是一個(gè)整體,是內(nèi)部類(lèi)里面用來(lái)訪(fǎng)問(wèn)外部類(lèi)實(shí)例變量的方式,就是這么規(guī)定的;在內(nèi)部類(lèi)中this代表的是本內(nèi)部類(lèi)實(shí)例,而HelloWorld.this(假設(shè)HelloWorld是外部類(lèi))就是代表對(duì)應(yīng)的外部類(lèi)實(shí)例。
2020-04-10
這個(gè)沒(méi)有為什么,這是Java的規(guī)則,記住就好了。
static是靜態(tài)修飾符,加static后變成靜態(tài)成員變量,在內(nèi)部類(lèi)中可以直接用類(lèi)名.靜態(tài)成員變量名來(lái)訪(fǎng)問(wèn)外部類(lèi)的成員變量