在Java编程中,访问权限是非常重要的概念,因为它可以保证代码的安全性和封装性。访问权限有四种,分别是public、protected、default和private。
private
:如果一个类的方法或者变量被private
修饰,那么这个类的方法或者变量只能在该类本身中被访问,在类外以及其他类中都不能显示地进行访问。
default
(默认访问权限):如果一个类的方法或变量被包访问权限修饰,也就意味着只能在同一个包中的其他类中显示地调用该类的方法或者变量,在不同包中的类中不能显示地调用该类的方法或变量。
protected
:如果一个类的方法或者变量被protected
修饰,对于同一个包的类,这个类的方法或变量是可以被访问的。对于不同包的类,只有继承于该类的类才可以访问到该类的方法或者变量。
public
:被public
修饰的方法或者变量,在任何地方都是可见的。
private
package com.ymqx.访问权限;
public class Person {
private String name = "test";
public String getName(){
//只能在本类中被访问
System.out.println(this.name);
return this.name;
}
}
package com.ymqx.访问权限;
public class Test {
public static void main(String[] args){
Person person = new Person();
//Person类外不能直接访问
//System.out.println(person.a);
person.getName();
}
}
输出:test
方法或者变量被private修饰,只能在本类中被访问。
default
package com.ymqx.访问权限;
public class Person {
String name = "test";
public String getName(){
System.out.println(this.name);
return this.name;
}
}
package com.ymqx.访问权限;
public class Test {
public static void main(String[] args){
Person person = new Person();
//同一个包中的其他类中显示地调用
System.out.println(person.name);
person.getName();
}
}
输出:
test
test
同一个包中的其他类中显示地调用。
package com.ymqx.访问权限2;
import com.ymqx.访问权限.Person;
public class Test{
public static void main(String[] args){
Person person = new Person();
//不同的包,Person类不能显示地调用name
System.out.println(person.name);
person.getName();
}
}
不同包中的类中不能显示地调用。
protected
package com.ymqx.访问权限;
public class Person {
protected String name = "test";
public String getName(){
System.out.println(this.name);
return this.name;
}
}
package com.ymqx.访问权限2;
import com.ymqx.访问权限.Person;
public class Zi extends Person {
public void getPersonName() {
//不同的包,继承可以访问父类protected修饰变量
System.out.println(super.name);
}
}
不同包的类,只有继承于该类的类才可以访问到该类 protected 修饰方法或者变量。文章来源:https://www.toymoban.com/news/detail-706511.html
public
package com.ymqx.访问权限;
public class Person {
public String name = "test";
public String getName(){
System.out.println(this.name);
return this.name;
}
}
package com.ymqx.访问权限2;
import com.ymqx.访问权限.Person;
public class Test{
public static void main(String[] args){
Person person = new Person();
//同一个包中的其他类中显示地调用
System.out.println(person.name);
person.getName();
}
}
输出:
test
test
不同包中的类也可以显示地调用。文章来源地址https://www.toymoban.com/news/detail-706511.html
小结
- 四种访问权限从小到大:private < default(默认访问权限)< protected < public。
- 当定义变量时不加任何修饰会默认为默认权限。
- 在子类中访问父类中的变量时需要用super。
到了这里,关于JAVA 的四种访问权限的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!