Java文件中存在多个类,并且public类使用非public类中函数的示例
时间: 2024-09-24 15:12:32 浏览: 40
java–一个类中可以定义多个无参构造函数
在Java中,虽然通常建议将公共(public)成员暴露给外部,但有时候内部类(非public)的功能可以被外部访问。这种设计常见于包内访问(Inner Class),尤其是当内部类需要直接操作其外部类的私有变量或方法时。
例如,假设我们有一个`OuterClass`,它有一个`PrivateHelper`的内部类:
```java
// OuterClass.java
public class OuterClass {
private String privateVar;
// Public class with access to inner class
public class PublicClass {
private PrivateHelper helper = new PrivateHelper();
// 使用内部类的private方法
public void useHelperMethod() {
helper.doSomething(privateVar); // 这里尽管helper是内部类,但我们可以在PublicClass中访问它的doSomething方法
}
// 其他Public类的成员...
}
}
// PrivateHelper.java (非public)
class PrivateHelper {
private void doSomething(String input) { // 私有方法
// 实现...
}
}
```
在这个例子中,`OuterClass.PublicClass`通过持有`PrivateHelper`实例并调用其实现的私有方法,展示了即使内部类是非public,也能在满足一定条件的情况下访问其方法。
阅读全文