是的,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
方法。