• Java访问修饰符学习资料


    Java访问修饰符

    访问修饰符是用于控制类、变量、方法和构造函数的可访问性和可见性的关键字。Java提供了四种访问修饰符,它们分别是:publicprotecteddefault(默认)和 private

    1. public

    • 可以被任何类访问。
    • 在同一包内或其他包中的类都可以访问 public 修饰的成员。
    • public 成员可以通过类的实例或类名直接访问。

    示例:

    public class MyClass {
        public String publicVariable = "公共变量";
    
        public void publicMethod() {
            System.out.println("这是一个公共方法");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2. protected

    • 可以被同一类、同一包内的其他类以及其他包中的子类访问。
    • protected 成员可以通过类的实例或类名直接访问。

    示例:

    public class MyClass {
        protected String protectedVariable = "受保护变量";
    
        protected void protectedMethod() {
            System.out.println("这是一个受保护方法");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3. default(默认)

    • 如果没有指定访问修饰符,默认为 default
    • 只能被同一包内的其他类访问。
    • default 成员可以通过类的实例或类名直接访问。

    示例:

    class MyClass {
        String defaultVariable = "默认变量";
    
        void defaultMethod() {
            System.out.println("这是一个默认方法");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4. private

    • 只能被同一类内的其他成员访问。
    • private 成员不能通过类的实例或类名直接访问。

    示例:

    public class MyClass {
        private String privateVariable = "私有变量";
    
        private void privateMethod() {
            System.out.println("这是一个私有方法");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    访问修饰符的使用场景

    • public:适用于公共接口和公共方法。
    • protected:适用于具有继承关系的类中的成员。
    • default:适用于同一包内的类中的成员。
    • private:适用于需要限制只能在类内部访问的成员。

    总结

    访问修饰符是用于控制类、变量、方法和构造函数的可访问性和可见性的关键字。Java提供了四种访问修饰符:publicprotecteddefaultprivate。了解访问修饰符的概念和用法对于设计良好的面向对象程序至关重要。

  • 相关阅读:
    [题] 求特殊自然数 #十进制转n进制
    第一个python&selenium自动化测试实战项目
    (第九十三篇)C规范编辑笔记(五)
    Win10/11下安装WSL并修改WSL默认安装目录到其他盘
    RFID读写器有哪些功能,由几部分组成,应用在哪方面
    linux从入门到精通
    七、栈与队列(stack and queue)
    延迟加载、一对多映射处理(collection和分步查询)
    docker入门加实战—从部署MySQL入门docker
    【Error】Python3.7 No module named ‘_sqlite3‘ 解决方案
  • 原文地址:https://blog.csdn.net/qq_42431718/article/details/134442519