Java中只有三个访问权限修饰符public,protected和private。
1、如果不写任何修饰符,默认的是“包访问权限”。相当于对包内的所有其他类和方法是public,而对于包外的类和方法都是private的。由于一个编译单元(一个Java文件)之恩给你隶属于一个包,所以经由包访问权限,处于同一编译单元中的所有类彼此之间都是自动可访问的。(这就是一个包存在的原因)
2、继承来的类既可以访问public成员也可以访问protected成员。
3、取得访问权限的途径:
1.使该成员的访问权限为public。
2.通过不加访问权限修饰词,并将其他类放置在同一个包内的方式基于其他成员包访问权。
3.继承某一个类
4.提供get()、set()方法。
一、public
对所有成员可用,尤其是使用类库的客户程序员,
二、private
除了该被private修饰的成员所在的类之外,其他任何类都无法访问这个成员。
默认访问权限是一种常用的权限。同时也是在外几天假任何权限控制是能够自动得到的权限,因此,你可能不会认为自己会经常需要使用关键字private,因为没有他照样工作,然而,private权限非常重要,尤其是在多线程环境下。
三、protected
protected处理的是继承的概念。
如果创建了一个新包,并且从另一个包中继承类,那么唯一可以访问的成员就是源包中的public成员。
protected也提供了包访问权限,也就是说同一包内的其他非继承自他的类可以访问protected修饰的方法或属性。
四、很重要的一点
1、对于类的访问权限,仅有两个选择,包访问权限和public。既不可以是private的也不可以是protected 的。(内部类可以有private和protected)