访问Java中的修饰符
时间:2020-02-23 14:36:07 来源:igfitidea点击:
Java中的访问修饰符定义变量,方法,构造函数或者类的可访问性(范围)。
Java中有4种类型的访问修饰符。
我们不必明确放置默认修改器.
如果我们不指定Public, Private 和 Protected,则jvm使用默认修改器。
公共访问修饰符
Public修饰符可以在整个Java世界中访问。
如果你把类放在public那意味着 class无处不在。
在包com中创建名为a.java的类。
package com;
public class A {
public int a;
public A(int a)
{
this.a=a;
}
public void methodA()
{
System.out.println("In method of class A");
}
}
在包com中创建另一个名为"b.java"的类。
package org;
import com.A;
public class B {
public static void main(String args[])
{
A objA=new A(20);
objA.methodA();
System.out.println("Value of variable a is: "+objA.a);
}
}
运行上面的程序时,我们将得到以下输出:
在类的方法中,变量A值为:20
私人访问修饰符
这 private访问修改器只能在类中访问。
除非它是嵌套类,否则我们无法使用私有并使用类进行保护。
让我们在榜样的帮助下了解:
package com;
public class A {
private int a;
A(int a)
{
this.a=a;
}
private void methodA()
{
System.out.println("In method of class A");
}
}
class B {
public static void main(String args[])
{
A objA=new A(20);
objA.methodA();
System.out.println("Value of variable a is: "+objA.a);
}
}
我们将在第22行和23行获取编译错误,因为我们无法从课堂外部访问私有变量或者方法。
默认访问修饰符
如果我们不提供任何访问权限,JVM将其视为 default使用权。
在默认访问修改器的情况下,我们无法访问外部的方法,变量或者类 package。
在包com中创建名为a.java的类。
package com;
public class A {
int a;
public A(int a)
{
this.a=a;
}
void methodA()
{
System.out.println("In method of class A");
}
}
在包com中创建另一个名为"b.java"的类。
package org;
import com.A;
public class B {
public static void main(String args[])
{
A objA=new A(20);
objA.methodA();
System.out.println("Value of variable a is: "+objA.a);
}
}
其中我们将在第11和12行获得编译错误,因为我们正在尝试访问包外部A类的And Methoda com
受保护的访问修饰符
受保护的访问修饰符可以仅在同一包中或者仅继承的包中访问。
让我们在榜样的帮助下了解:在包com中创建名为a.java的类。
package com;
public class A {
protected int a;
protected A(int a)
{
this.a=a;
}
protected void methodA()
{
System.out.println("In method of class A");
}
}
在包com中创建另一个名为"b.java"的类。
package org;
import com.A;
public class B extends A{
B(int a) {
super(a);
}
public static void main(String args[])
{
B ObjB=new B(20);
ObjB.methodA();
System.out.println("Value of variable a is: "+ObjB.a);
}
}
运行上面的程序时,我们将得到以下输出:
在类的方法中,变量A值为:20
正如我们所看到的,我们可以使用继承访问A类A和Methoda。

