是的,Java内部类可以定义方法。内部类(Inner Class)是定义在另一个类(外部类)内部的类。内部类可以访问外部类的所有成员(包括私有成员),因此可以在内部类中定义方法。这些方法可以访问外部类的成员变量和方法,也可以访问其他内部类的成员变量和方法。
下面是一个简单的Java内部类定义方法的例子:
public class OuterClass {
private int outerVar = 10;
public class InnerClass {
public void displayOuterVar() {
System.out.println("outerVar: " + outerVar);
}
}
public static void main(String[] args) {
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.new InnerClass();
inner.displayOuterVar(); // 输出:outerVar: 10
}
}
在这个例子中,OuterClass 是一个外部类,InnerClass 是一个定义在外部类内部的内部类。InnerClass 中定义了一个名为 displayOuterVar 的方法,该方法访问了外部类 OuterClass 的私有成员变量 outerVar。在 main 方法中,我们创建了一个 OuterClass 的实例和一个 InnerClass 的实例,然后调用了 displayOuterVar 方法。