public和private基本没问题,主要是默认的和protected之间的区别 同一包中默认的和protected一样,所以来看看不同包的情况 看下如下代码,两个类位于不同包: public class Base { int i = 0; } public class Extends extends Base { public void test(){ Extends e = new Extends(); Base b = new Base(); //e.i = 1;//编译无法通过 //b
import packa.*;//导入了packa包中所有的类.(不包括包中的子包)一般不会用,用哪个导入哪个. 导包的原则:用到哪个类,就导入哪个类.所有字母都小写. 权限列表: public protected default private 同一类中 ok ok ok ok 同一包中 ok ok ok 子类中 ok ok 不同包中 ok 由上表可以看出: private:只供类内部使用,同一包都不行: default:默认的访问权限只提供同一类和同一包,子类不行