对类时
package 包内的
public 共有的
public很好理解,就是无所顾忌,都是公共的,别的类都可以调用到这个类
不写时为package即,只有此类的所在包下的类可以访问到该类
例如com.sun.test 下有 A ,B 两个类 A 为package
com.sun下有 C类
只有B可以写 B b=new B();
C中写 b b1=new b();则会报错
对方法时
package 包内的
private 私有的(类内的)
public 共有的
protected 保护的
private只有自己类可以用,
public 则是公共的,
package 只有同在一个包内下的其他类可以访问这个类的方法
protected 可以看成默认的即(package包内的)+这个类的子类(其他包的) 可以访问这个类的protected的方法
作用域 当前类 同一包 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
package √ √ × ×
private √ × × ×