在Java中,内部类调用的方法可以是外部类的方法,也可以是内部类自身的方法。
如果内部类想要调用外部类的方法,可以使用以下语法:
```java
外部类名.this.外部类方法名(参数列表);
```
其中,`外部类名.this`表示当前内部类所在的外部类对象。
如果内部类想要调用自身的方法,可以直接使用方法名进行调用,不需要使用任何前缀。
需要注意的是,如果内部类想要访问外部类的非静态成员变量或方法,则需要通过创建外部类的对象来访问,例如:
```java
外部类名 外部类对象 = new 外部类名();
外部类对象.成员变量名;
外部类对象.方法名();
```
如果外部类的成员变量或方法是静态的,则可以直接通过类名来访问,例如:
```java
外部类名.静态成员变量名;
外部类名.静态方法名();
```
此外,还可以通过创建内部类的对象来调用内部类的方法。例如:
```java
外部类名.内部类名 内部类对象 = new 外部类名().new 内部类名();
内部类对象.方法名();
```
这种方式适用于非静态内部类。如果内部类是静态的,则可以直接通过类名来创建内部类的对象,例如:
```java
外部类名.内部类名 内部类对象 = new 外部类名.内部类名();
内部类对象.方法名();
```
总的来说,内部类可以直接调用自身的方法,也可以通过外部类对象来调用外部类的方法。