Java中的public,private,protect,默认这几个访问修饰符的范围和概念

在Java中,publicprivateprotected是访问修饰符,它们决定了类、方法或变量的访问级别。这些访问修饰符有助于实现封装,这是面向对象编程的四大基本特性之一。

  1. public:这是最高级别的访问修饰符。被public修饰的类、方法或变量可以被任何其他类访问。
public class PublicExample {
    public int publicVar = 10;

    public void publicMethod() {
        System.out.println("This is a public method.");
    }
}

在上面的代码中,PublicExample类、publicVar变量和publicMethod方法都可以被其他任何类访问。

  1. private:这是最低级别的访问修饰符。被private修饰的类、方法或变量只能在其所在的类内部被访问。
public class PrivateExample {
    private int privateVar = 20;

    private void privateMethod() {
        System.out.println("This is a private method.");
    }

    public void accessPrivate() {
        System.out.println(privateVar); // 可以访问
        privateMethod(); // 可以访问
    }
}

在上面的代码中,privateVar变量和privateMethod方法只能在PrivateExample类内部被访问。尽管accessPrivate方法可以访问它们,但其他类不能直接访问。

  1. protected:这是介于publicprivate之间的访问修饰符。被protected修饰的类、方法或变量可以在其所在的类内部以及同一个包内的其他类中被访问,也可以被其他包中的子类访问。
package package1;

public class ProtectedExample {
    protected int protectedVar = 30;

    protected void protectedMethod() {
        System.out.println("This is a protected method.");
    }
}

package package2;

import package1.ProtectedExample;

public class AnotherClass extends ProtectedExample {
    public void accessProtected() {
        System.out.println(protectedVar); // 可以访问
        protectedMethod(); // 可以访问
    }
}

在上面的代码中,ProtectedExample类在package1包中,而AnotherClass类在package2包中,并且AnotherClassProtectedExample的子类。因此,AnotherClass可以访问ProtectedExample中的protectedVar变量和protectedMethod方法。

注意:类本身不能是privateprotected的,它们只能是public或默认的(没有明确的访问修饰符)。默认的访问级别意味着类只能在其所在的包内被访问。

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值