關(guān)于訪問(wèn)修飾符的問(wèn)題 求大神指點(diǎn)~
。。視頻中說(shuō):
?private:只能在本類(lèi)中調(diào)用;
默認(rèn)的:只能在同一個(gè)包中調(diào)用;
protected:只能在同一個(gè)包中調(diào)用,要是不同包,只能是子類(lèi);
public:所有的地方都能用
然后我自己嘗試了一下,發(fā)現(xiàn)有一下幾點(diǎn)疑問(wèn):(主要是二級(jí)包的問(wèn)題)
在二級(jí)包中的子類(lèi)中不能調(diào)用public修飾的變量;
在二級(jí)包中的子類(lèi)不能調(diào)用protected修飾的變量;
下面有代碼!
2015-11-22
只能在方法塊中對(duì)成員變量進(jìn)行修改
2016-04-13
//二級(jí)包中的子類(lèi)
package com.shiyan2.Second;
//本包中的二級(jí)包下的子類(lèi)中:
import com.shiyan2.C;
public class G extends C {
? ? public static void main(String[] args){
? ? ? ? ? ? C c=new C();
? ? ?c.a=1; ? ? ? ? ? ? ?
? ? ? c.b=2; ? ? ? ? ? ??
? ? ? c.c=3;
? ? ? c.d=4;
? ? }
}
你把調(diào)用放到方法里面去,直接在類(lèi)里面調(diào)用是不行的,C可以new出來(lái),C里面的abcd引用不了
2015-11-14
2015-10-07
//二級(jí)包中的子類(lèi)
package com.shiyan2.Second;
//本包中的二級(jí)包下的子類(lèi)中:
import com.shiyan2.C;
public class G extends C {
? ? ? C c=new C();
? ? ? c.a=1; ? ? ? ? ? ? ?//這里四個(gè)調(diào)用都報(bào)錯(cuò) ?(public)
? ? ? c.b=2; ? ? ? ? ? ? //Syntax error on token "a", VariableDeclaratorId expected after this ?token
? ? ? c.c=3;
? ? ? c.d=4;
}
2015-10-07
package com.shiyan2;
//聲明不同修飾符的變量的類(lèi)
public class C {
? ? public void print(){
? ? System.out.println("fulei de fangfa ");
? ? ? ??
? ?
? ?
? ? }
? ??
? ? public int a ;
/* 6.在二級(jí)包的該類(lèi)的子類(lèi)下面不能被調(diào)用 ? ??
? ??
*/ ? ?
? ? protected int b; ? ? ? ? //總結(jié):只要同包都能調(diào)用,并且區(qū)別默認(rèn)的是:它在其他包的子類(lèi)中也能被調(diào)用
/* 3.在其他包的普通類(lèi)下面不能調(diào)用 ?
?* 5.5.在二級(jí)包中的普通類(lèi)下面不能被調(diào)用(其實(shí)二級(jí)包也算是其他包)
?* 6.在二級(jí)包的該類(lèi)的子類(lèi)下面不能被調(diào)用
? ??
*/ ? ?
? ? int c; ? ? ? ? ? ? ? ? //總結(jié):只要同包下都能調(diào)用(其中二級(jí)包不算同包!)
/* 3.在其他包的普通類(lèi)下面不能被調(diào)用
?* 4.在其他包的該類(lèi)的子類(lèi)下不能被調(diào)用?
?* 5.5.在二級(jí)包中的普通類(lèi)下面不能被調(diào)用(其實(shí)二級(jí)包也算是其他包)
?* 6.在二級(jí)包的該類(lèi)的子類(lèi)下面不能被調(diào)用
? ??
*/ ? ?
? ? private int d; ? ? ? ? //總結(jié):只有在本類(lèi)中可以調(diào)用!
? ?/* 1.在同一個(gè)包下的其他類(lèi)中就不能調(diào)用
? ? * 2.在同一個(gè)包下的子類(lèi)中也不能調(diào)用(其實(shí)子類(lèi)也算是同一個(gè)包下的類(lèi))
? ? * 3.在其他包的普通類(lèi)下不能被調(diào)用
? ? * 4.在其他包的該類(lèi)的子類(lèi)下不能被調(diào)用
? ? * 5.在二級(jí)包中的普通類(lèi)下面不能被調(diào)用(其實(shí)二級(jí)包也算是其他包)
? ? * 6.在二級(jí)包的該類(lèi)的子類(lèi)下面不能被調(diào)用
? ? */
? ??