java 访问修饰符
Posted 墨染千城
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 访问修饰符相关的知识,希望对你有一定的参考价值。
访问修饰符
在Java中提供了四种访问权限,使用不同的访问权限时,被修饰的内容会有不同的访问权限,以下表来说明不同权限的访问能力:
|
public |
protected |
default |
private |
同一类中 |
√ |
√ |
√ |
√ |
同一包中(子类与无关类) |
√ |
√ |
√ |
|
不同包的子类 |
√ |
√ |
|
|
不同包中的无关类 |
√ |
|
|
|
归纳一下:在日常开发过程中,编写的类、方法、成员变量的访问:
1.要想仅能在本类中访问使用private修饰;
2.要想本包中的类都可以访问不加修饰符即可;
3.要想本包中的类与其他包中的子类可以访问使用protected修饰
4.要想所有包中的所有类都可以访问使用public修饰。
注意:如果类用public修饰,则类名必须与文件名相同。一个文件中只能有一个public修饰的类。
代码:
//父类 public class A { public int a=1; protected int b=2; int c=3; private int d=4; } //子类:加注释者无法访问。 //(1) public class B extends A{ public void b() { System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d);//private 权限只能在本类中访问 } } //(2) import com.oracle.demo04.A;//需导包 public class C extends A{ public void c() { System.out.println(a); System.out.println(b); System.out.println(c);//default权限只能在本包中访问 } } //(3) import com.oracle.demo04.A;//需导包 public class D { public void d() { System.out.println(new A().a); System.out.println(new A().b);//protected 权限只能在本包和不同包的子类中访问 } }
以上是关于java 访问修饰符的主要内容,如果未能解决你的问题,请参考以下文章
一脚踩进java之基础篇21——面向对象 (访问修饰符代码块)