- public
对于public而言,是最简单的。顾名思义是公有的,他的访问范围是整个工程。若A有一个属性value是public修饰,而B持有A的实例对象a,那就可以通过a.value来获取值。或者C继承A,那么其他类持有B类的实例对象b时,也可以通过b.value来得到B的属性
所以public修饰是可继承,可访问的
- protect
对于protect而言,他是保护类型。若属性是protect修饰,同一包下面的类可见,以及不同包的子类可继承该属性。
- 默认
默认就是不写修饰符,他是介于protect和private之间的一个修饰符。若属性是默认修饰,只能由同一个包下面的类可见,以及同一包下面的子类可以继承。不同包是不可以继承该属性的
- private
对于private而言,他是私有类型。若是属性由private修饰,那么你只能在本类中访问到该属性,且属性不可由子类继承,和其他类访问。若是方法则该方法不可以由子类覆盖(不是说子类和父类里面方法名字相同就是覆盖,他还必须要满足多态才算的上是覆盖)!(ps:内部类可以访问,但是不可以继承!)
- ps
上面都是对属性和方法的解释,而对于外部类的修饰来说
外部类只能有public和默认修饰,不可以private和protect修饰 当时默认时,只有本包下的类可以继承其他包 不可以继承也不可以访问