关于访问修饰符的问题 求大神指点~
。。视频中说:
private:只能在本类中调用;
默认的:只能在同一个包中调用;
protected:只能在同一个包中调用,要是不同包,只能是子类;
public:所有的地方都能用
然后我自己尝试了一下,发现有一下几点疑问:(主要是二级包的问题)
在二级包中的子类中不能调用public修饰的变量;
在二级包中的子类不能调用protected修饰的变量;
下面有代码!
。。视频中说:
private:只能在本类中调用;
默认的:只能在同一个包中调用;
protected:只能在同一个包中调用,要是不同包,只能是子类;
public:所有的地方都能用
然后我自己尝试了一下,发现有一下几点疑问:(主要是二级包的问题)
在二级包中的子类中不能调用public修饰的变量;
在二级包中的子类不能调用protected修饰的变量;
下面有代码!
2015-10-07
package com.shiyan2;
//声明不同修饰符的变量的类
public class C {
public void print(){
System.out.println("fulei de fangfa ");
}
public int a ;
/* 6.在二级包的该类的子类下面不能被调用
*/
protected int b; //总结:只要同包都能调用,并且区别默认的是:它在其他包的子类中也能被调用
/* 3.在其他包的普通类下面不能调用
* 5.5.在二级包中的普通类下面不能被调用(其实二级包也算是其他包)
* 6.在二级包的该类的子类下面不能被调用
*/
int c; //总结:只要同包下都能调用(其中二级包不算同包!)
/* 3.在其他包的普通类下面不能被调用
* 4.在其他包的该类的子类下不能被调用
* 5.5.在二级包中的普通类下面不能被调用(其实二级包也算是其他包)
* 6.在二级包的该类的子类下面不能被调用
*/
private int d; //总结:只有在本类中可以调用!
/* 1.在同一个包下的其他类中就不能调用
* 2.在同一个包下的子类中也不能调用(其实子类也算是同一个包下的类)
* 3.在其他包的普通类下不能被调用
* 4.在其他包的该类的子类下不能被调用
* 5.在二级包中的普通类下面不能被调用(其实二级包也算是其他包)
* 6.在二级包的该类的子类下面不能被调用
*/
举报