Java 中的私有方法
Java 中的私有方法有一个私有访问修饰符,这意味着它们对定义类的访问受到限制,并且在继承的子类中不可访问;这就是为什么他们没有资格覆盖。
但是,可以在子类中创建一个方法,并且可以在父类中访问该方法。本教程演示了如何在 Java 中创建和使用私有方法。
Java 中的私有方法
如上所述,私有方法只能在定义类中访问;对于私有方法,我们考虑以下几点。
- 私有方法是 Class X,只能在 Class X 中访问。
- 包 X 的包私有成员或方法只能在 X 包的所有类中访问。
让我们尝试在 Java 中创建和使用私有方法。参见示例:
package delftstack;
public class Private_Methods {
private void print() {
System.out.println("The Private Method can only be printed in the defining Class");
}
public static void main(String[] args) {
Private_Methods Demo = new Private_Methods();
Demo.print();
Private_Methods_Child Demo1 = new Private_Methods_Child();
Demo1.print();
}
}
class Private_Methods_Child extends Private_Methods {
public void print(){
System.out.println("The Public Method can be printed anywhere");
}
}
上面的代码创建了一个私有方法并在同一个类中调用它,同时也创建了一个公共方法在父类中调用它;输出将是:
The Private Method can only be printed in the defining Class
The Public Method can be printed anywhere
如果我们在子类中将 public 方法改为 private,就会抛出异常。参见示例:
package delftstack;
public class Private_Methods {
private void print() {
System.out.println("The Private Method can only be printed in the defining Class");
}
public static void main(String[] args) {
Private_Methods Demo = new Private_Methods();
Demo.print();
Private_Methods_Child Demo1 = new Private_Methods_Child();
Demo1.print();
}
}
class Private_Methods_Child extends Private_Methods {
private void print(){
System.out.println("The Public Method can be printed anywhere");
}
}
我们无法从子类访问 print
方法。见输出:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method print() from the type Private_Methods_Child is not visible
at delftstack.Private_Methods.main(Private_Methods.java:11)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。