21xrx.com
2025-03-18 23:59:18 Tuesday
文章检索 我的文章 写文章
「用Java中的访问修饰符加强代码封装」
2023-06-14 21:55:10 深夜i     --     --
Java 访问修饰符 代码封装

Java中的访问修饰符有public、private、protected和默认四种,它们可以对类、属性、方法进行不同程度的限制访问。通过使用不同的访问修饰符,我们可以加强代码的封装,保证程序的安全性和稳定性。

public:公有的,任何类都可以访问,一般用于被访问的类、接口、属性、方法。

private:私有的,只有在定义该类的类中有效,其子类和其他类都无法访问,一般用于私有的方法和属性,防止数据被外界改变。

protected:受保护的,同样使用protected变量或方法所在类的子类可以访问该变量或方法,外界和其他类都不能访问受保护的方法和属性。

默认:没有修饰符,默认是包访问权限,即包内可见,包外不可见,一般用于类、方法、属性等。

下面是一个示例代码,演示不同访问修饰符对代码的影响。

public class Test {
  public int publicVar = 1//公有的
  private int privateVar = 2; //私有的
  protected int protectedVar = 3; //受保护的
  int defaultVar = 4; //默认的
  public void publicMethod() {
    System.out.println("This is a public method.");
  }
  private void privateMethod() {
    System.out.println("This is a private method.");
  }
  protected void protectedMethod() {
    System.out.println("This is a protected method.");
  }
  void defaultMethod() {
    System.out.println("This is a default method.");
  }
}
public class AccessTest {
  public static void main(String[] args) {
    Test test = new Test();
    System.out.println("Public variable: " + test.publicVar);
    System.out.println("Private variable: " + test.privateVar); //无法访问
    System.out.println("Protected variable: " + test.protectedVar); //无法访问
    System.out.println("Default variable: " + test.defaultVar); //无法访问
    test.publicMethod();
    test.privateMethod(); //无法访问
    test.protectedMethod(); //无法访问
    test.defaultMethod(); //无法访问
  }
}

通过上述代码,我们可以看到不同修饰符的作用,其中private对外不可见,只有在Test类中可以访问,而protected对于子类是可见的,可以被继承,而默认的访问修饰符用于同一个包下的类可以访问,但是对于其他包下的类是不可见的。

总结一下,Java中的四种访问修饰符都有各自的使用场景,可以有效保护代码的安全性和稳定性,加强代码封装。

  
  

评论区

    相似文章