java访问权限控制
作者:互联网
文章目录
java访问权限控制
对类进行访问权限控制
java对类的访问权限通过不同的访问修饰符来进行控制。
- public修饰符:公有访问级别
- 默认修饰符:包级私有访问级别
- 注意:
不同包的类只可以访问public修饰的类,不可以访问修饰符修饰的类,相对于下面的这个例子,就是将Student05类和Person01类的访问修饰符更改为public
package cn.zhz.Kind.dh;
public class Student05 {
}
package cn.zhz.Kind.dh;
public class Person01 {
}
package cn.zhz.Case.dh;
import cn.zhz.Kind.dh.Person01;
import cn.zhz.Kind.dh.Student05;
public class Test01 {
public static void main(String args){
Student05 student05 = new Student05();
Person01 Person01 = new Person01();
}
}
如果采用默认修饰符的话,就算导入了包中的这个类还是会报错
例如这样的一个错误:
java: cn.zhz.Kind.dh.Person01在cn.zhz.Kind.dh中不是公共的; 无法从外部程序包中对其进行访问
同一个包中的类可以随意访问,也就是这种情况下的public和默认修饰符都是可以使用的,这种情况下加不加public都是可以的
package cn.zhz.Test.dh;
public class Student06 {
}
package cn.zhz.Test.dh;
class Person2 {
}
package cn.zhz.Test.dh;
public class Test05 {
public static void main(String[] args) {
Student06 student06 = new Student06();
Person2 person2 = new Person2();
}
}
这个就是访问权限对类的控制。
对类的成员进行访问权限控制
类的成员分别是成员变量(属性)和成员方法(行为方法),java中对类的成员进行访问权限控制有四种:
package cn.zhz.Kind.dh;
//类可以通过public修饰
public class Student07 {
//private修饰的类的成员,只可以本类进行访问
private int age;
//默认修饰符修饰的类成员,本类可以访问
String name;
//protected修饰符修饰的类的成员,本类可以访问
protected String address;
//public修饰符修饰的类的成员,在哪里都可以被访问到
public char sex;
public void m1(){
System.out.println(this.name);
System.out.println(this.age);
System.out.println(this.address);
System.out.println(this.sex);
}
}
package cn.zhz.Case.dh;
import cn.zhz.Kind.dh.Student07;
public class Test02 {
public static void main(String [] args){
//不同包的类只可以访问public修饰的类,不可以访问默认修饰符修饰的类
Student07 s = new Student07();
//默认修饰符修饰的类的成员,不可以被其他包的其他类访问
// System.out.println(s.name);
//protected修饰符修饰的类的成员,不可以被其他包中的其他类访问
// System.out.println(s.address);
System.out.println(s.sex);
}
}
package cn.zhz.Case.dh;
import cn.zhz.Kind.dh.Student07;
public class Test {
public static void main(String [] args){
//同包的类既可以访问public修饰的类,也可以访问默认修饰符修饰的类
Student07 s = new Student07();
//其他类不可以调用Student07类private修饰的类成员(属性和方法)
// s.age;
//默认修饰符修饰的类成员,同包的其他类也可以访问
//protected修饰符修饰的类成员,同包的其他类也可以访问
// System.out.println(s.name);
// System.out.println(s.address);
s.m1();
}
}
标签:zhz,java,cn,dh,修饰符,访问,权限,public 来源: https://blog.csdn.net/qq_45671732/article/details/115762406