Java中什么是方法内部类
时间: 2023-08-11 18:04:17 浏览: 194
在Java中,方法内部类是一种定义在方法内部的类。与成员内部类不同,方法内部类的作用域仅限于定义它的方法内部,不能在方法外部访问。方法内部类通常用于实现某些特定的逻辑,或者在方法内部创建一个辅助类来完成一些任务。
方法内部类和成员内部类有些相似,它们都可以访问外部类的成员,包括私有成员。但是方法内部类不能定义任何静态成员或静态方法,因为方法内部类的作用域仅限于定义它的方法内部。
下面是一个简单的示例代码,展示了如何定义和使用方法内部类:
```
public class OuterClass {
private int x;
public void outerMethod() {
class InnerClass {
public void innerMethod() {
x = 5;
System.out.println("Inner class method called. x = " + x);
}
}
InnerClass inner = new InnerClass();
inner.innerMethod();
}
}
// 使用方法内部类
OuterClass outer = new OuterClass();
outer.outerMethod(); // 输出:Inner class method called. x = 5
```
在这个示例中,InnerClass是方法内部类,在outerMethod()方法内部定义。在innerMethod()方法中,我们修改了外部类的私有成员变量x的值。在outerMethod()方法内部,我们创建了InnerClass的对象inner,并调用了它的innerMethod()方法,从而完成了我们想要的任务。由于InnerClass的作用域仅限于outerMethod()方法内部,所以在方法外部无法访问它。
阅读全文