做的公司网站风格跟样式和别人一样,中山网站设计公司,广元城乡建设部网站首页,九亭微信网站建设在Java编程中#xff0c;访问权限是非常重要的概念#xff0c;因为它可以保证代码的安全性和封装性。访问权限有四种#xff0c;分别是public、protected、default和private。 private#xff1a;如果一个类的方法或者变量被private修饰#xff0c;那么这个类的方法或者变…在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类不能显示地调用nameSystem.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 修饰方法或者变量。
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不同包中的类也可以显示地调用。
小结
四种访问权限从小到大private default默认访问权限 protected public。当定义变量时不加任何修饰会默认为默认权限。在子类中访问父类中的变量时需要用super。