Java Field访问修饰符有哪些

发布时间:2025-11-25 02:23:54 作者:小樊
来源:亿速云 阅读:94

在Java中,字段(Field)的访问修饰符用于控制对类成员变量的访问权限。Java提供了四种访问修饰符,分别是:

  1. public:公共访问级别,被声明为public的字段可以在任何地方被访问。
public class MyClass {
    public int myPublicField;
}
  1. protected:受保护访问级别,被声明为protected的字段可以被同一个包内的类以及不同包中的子类访问。
public class MyClass {
    protected int myProtectedField;
}
  1. default(没有修饰符):默认访问级别,也称为包级私有。如果字段没有指定访问修饰符,则默认为default。这样的字段只能被同一个包内的类访问。
class MyClass {
    int myDefaultField; // 相当于 package-private
}
  1. private:私有访问级别,被声明为private的字段只能在其所属的类中被访问。
public class MyClass {
    private int myPrivateField;
}

下面是一个简单的例子,展示了如何使用这些访问修饰符:

package com.example;

public class MyClass {
    public int myPublicField;
    protected int myProtectedField;
    int myDefaultField; // 默认访问级别
    private int myPrivateField;

    public void accessFields() {
        // 可以访问所有字段,因为它们都在同一个类中
        myPublicField = 1;
        myProtectedField = 2;
        myDefaultField = 3;
        myPrivateField = 4;
    }
}

class AnotherClassInSamePackage {
    void accessFields(MyClass obj) {
        obj.myPublicField = 10; // 可以访问
        obj.myProtectedField = 20; // 可以访问,因为AnotherClassInSamePackage是MyClass的子类
        obj.myDefaultField = 30; // 可以访问,因为它们在同一个包中
        // obj.myPrivateField = 40; // 编译错误,无法访问私有字段
    }
}

package com.example.other;

import com.example.MyClass;

public class AnotherClassInDifferentPackage extends MyClass {
    void accessFields() {
        myPublicField = 100; // 可以访问
        myProtectedField = 200; // 可以访问,因为AnotherClassInDifferentPackage是MyClass的子类
        // myDefaultField = 300; // 编译错误,无法访问默认访问级别的字段
        // myPrivateField = 400; // 编译错误,无法访问私有字段
    }
}

在设计类时,合理使用访问修饰符可以提高代码的安全性和封装性。

推荐阅读:
  1. java的访问修饰符
  2. Java 修饰符

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:Ansible与云服务如何结合使用

下一篇:Node.js的学习曲线陡峭吗

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》