欢迎访问宙启技术站
智能推送

Java中函数的访问控制(access modifiers)详解

发布时间:2023-06-09 21:20:14

Java中的访问控制是指通过关键字来控制类、属性和方法等元素的访问权限。Java中共有四种访问控制修饰符:public、protected、private和默认的访问控制修饰符。

1.public

public是Java中最常用的访问控制修饰符之一,用于声明一个公共的类型、属性或方法。当一个类、属性或方法被声明为public时,其它类、属性或方法都可以访问它们。例如:

public class MyClass{

  public int num;

  public void doSomething(){

  ...

  }

}

在这个例子中,MyClass类、num属性和doSomething()方法都被声明为public,所以其它类可以访问它们。

2.private

private是Java中最严格的访问控制修饰符之一,用于声明一个私有的类型、属性或方法。当一个类、属性或方法被声明为private时,只有在该类内部才能访问它们。例如:

public class MyClass{

  private int num;

  private void doSomething(){

  ...

  }

}

在这个例子中,MyClass类、num属性和doSomething()方法都被声明为private,所以只能在MyClass类的内部方法中访问它们。

3.protected

protected是Java中介于public和private之间的访问控制修饰符之一,用于声明一个受保护的类型、属性或方法。当一个类、属性或方法被声明为protected时,它们可以被该类的子类和同一包中的其他类访问。例如:

public class MyClass{

  protected int num;

  protected void doSomething(){

  ...

  }

}

在这个例子中,MyClass类、num属性和doSomething()方法都被声明为protected,所以在该类的子类和同一包中的其他类中都可以访问它们。

4.默认的访问控制修饰符

默认的访问控制修饰符不使用任何关键字,它表示该类型、属性或方法只能被该类和同一包中的其他类访问。当一个类、属性或方法没有使用任何访问控制修饰符时,它们就属于默认的访问控制。例如:

public class MyClass{

  int num;

  void doSomething(){

  ...

  }

}

在这个例子中,MyClass类的num属性和doSomething()方法没有使用任何访问控制修饰符,所以它们就属于默认的访问控制,只能在该类和同一包中的其他类中访问。

总结:Java中的访问控制用于限制外部的访问,防止不恰当的调用和修改,保证代码的安全性、可扩展性和可维护性。在实际编程中,要根据需要选择适当的访问控制修饰符,并遵循面向对象设计原则,尽可能地将类、属性和方法隐藏起来,以防止被误用。