Java | 访问修饰符

本文详细介绍了Java中的四种访问修饰符:public(公共)、private(私有)、protected(受保护)和默认(包内访问)。讲解了它们的访问权限范围及示例代码。
摘要由CSDN通过智能技术生成

一、public

  • public访问修饰符具有最大的访问权限,可以被所有的类访问,无论它们在同一个包还是不同的包中。
  • 如果一个类的成员(字段或方法)被声明为public,那么这个成员可以被任何其他类访问。

demo

public class PublicClass {
    public int publicField = 10;
    public void publicMethod() {
        System.out.println("这是一个public方法");
    }
}
public class AccessPublicDemo {
    public static void main(String[] args) {
        PublicClass publicClass = new PublicClass();
        System.out.println("公共字段值: " + publicClass.publicField); // 可以访问public字段
        publicClass.publicMethod(); // 可以调用public方法
    }
}

二、private

  • private访问修饰符是最严格的访问级别,它只能在声明它的类内部访问。
  • 私有成员不能被同一个包中的其他类访问,也不能被不同包中的类访问。

demo

public class PrivateClass {
    private int privateField = 20;
    private void privateMethod() {
        System.out.println("这是一个private方法");
    }
}
public class AccessPrivateDemo {
    public static void main(String[] args) {
        PrivateClass privateClass = new PrivateClass();
        // System.out.println("私有字段值: " + privateClass.privateField); // 编译错误,不能访问private字段
        // privateClass.privateMethod(); // 编译错误,不能调用private方法
    }
}

三、protected

  • protected访问修饰符允许在声明它的类内部、同一个包中的其他类以及不同包中的子类访问。
  • 如果一个成员(字段或方法)被声明为protected,它对包是可见的,并且对所有的子类也是可见的。

demo

public class ProtectedClass {
    protected int protectedField = 30;
    protected void protectedMethod() {
        System.out.println("这是一个protected方法");
    }
}
public class AccessProtectedDemo extends ProtectedClass {
    public static void main(String[] args) {
        AccessProtectedDemo accessProtectedDemo = new AccessProtectedDemo();
        System.out.println("保护字段值: " + accessProtectedDemo.protectedField); // 可以访问protected字段
        accessProtectedDemo.protectedMethod(); // 可以调用protected方法
    }
}

四、默认(没有修饰符)

  • 如果没有访问修饰符(有时称为“包私有”),则该成员可以被同一包中的任何其他类访问,但不能被外部包中的类访问。
  • 这是一种介于publicprivate之间的访问级别。

demo

class DefaultClass {
    int defaultField = 40;
    void defaultMethod() {
        System.out.println("这是一个默认方法");
    }
}
public class AccessDefaultDemo {
    public static void main(String[] args) {
        DefaultClass defaultClass = new DefaultClass();
        System.out.println("默认字段值: " + defaultClass.defaultField); // 可以访问默认字段
        defaultClass.defaultMethod(); // 可以调用默认方法
    }
}

以上就是本次分享的所有内容,感兴趣的朋友点个关注呀,感谢大家啦~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值