Appearance
不是的,new 关键字后面并不一定跟的是接口。在 Java 中,new 关键字主要用于两种情况:
- 创建类的实例: 当
new后面跟着一个类名时,它用于创建该类的一个新实例(对象)。例如:
java
MyClass obj = new MyClass();
这里,`MyClass` 是一个类,`new MyClass()` 创建了 `MyClass` 的一个实例,并将其赋值给变量 `obj`。
2. **创建匿名内部类的实例**:
当 `new` 后面跟着一个接口或抽象类时,通常表示创建一个实现该接口或抽象类的匿名内部类的实例。例如:
```java
MyInterface obj = new MyInterface() \{
@Override
public void someMethod() \{
// 实现方法
\}
\};
在这个例子中,`MyInterface` 是一个接口,`new MyInterface() {...}` 创建了一个匿名内部类的实例,这个匿名内部类实现了 `MyInterface` 接口。
### 总结
所以,`new` 关键字后面可以跟类名,用于创建类的实例;也可以跟接口或抽象类名,用于创建这些接口或抽象类的匿名内部类的实例。选择哪一种取决于你的具体需求和上下文。在创建匿名内部类时,这个类通常是即时定义并实现的,常见于监听器或回调接口的实现中。