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——面向对象 (访问修饰符代码块)

一脚踩进java之基础篇21——面向对象 (访问修饰符代码块)

java四种权限修饰符的区别

Java中受保护的访问修饰符

Java_修饰符详解

面试题解五 访问修饰符的区别