java父类匿名子类的创建
时间: 2023-10-03 12:09:31 浏览: 47
在 Java 中,我们可以使用匿名子类来创建一个类,并且这个类会继承自一个父类。具体步骤如下:
1. 定义一个父类,例如:
```java
public class Animal {
public void move() {
System.out.println("Animal is moving.");
}
}
```
2. 创建一个匿名子类,并且继承自父类,例如:
```java
Animal a = new Animal() {
@Override
public void move() {
System.out.println("Cat is moving.");
}
};
```
在这个例子中,我们创建了一个匿名子类,它继承自 Animal 类,并且重写了 Animal 类的 move() 方法。
3. 调用子类的方法,例如:
```java
a.move(); // 输出:Cat is moving.
```
在这个例子中,我们调用了子类的 move() 方法,输出了 Cat is moving.。
需要注意的是,匿名子类只能在创建对象的时候使用,不能在其他地方重复使用。
相关问题
java匿名内部类的练习
Java匿名内部类是没有名字的内部类,它通常用于创建实现某个接口或继承某个类的对象。下面是三种Java匿名内部类的练习:
1.创建一个匿名内部类对象并调用其方法
```java
new Object(){
void method(){
System.out.println("匿名内部类的使用");
}
}.method();
```
2.通过父类或父接口的变量接受匿名子类/匿名实现类的对象,然后多态调用
```java
abstract class Base{
public abstract void method();}
Base b = new Base(){
@Override
public void method(){
System.out.println("匿名内部类重写父类的抽象方法method");
}
};
b.method();
```
3.把匿名内部类的匿名对象直接作为另一个方法调用的实参
```java
test(new Base(){
@Override
public void method(){
System.out.println("匿名内部类重写父类的抽象方法method");
}
});
public static void test(Base b){
b.method();
}
```
Runable的匿名内部类
匿名内部类是指在创建对象的同时定义一个子类或实现一个接口的方式。在Java中,我们可以使用匿名内部类来实现Runnable接口。
以下是创建Runnable的匿名内部类的示例代码:
```java
public class Main {
public static void main(String[] args) {
// 创建线程对象并启动
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// 线程执行的代码
System.out.println("Hello, I am a thread!");
}
});
thread.start();
}
}
```
在上述示例代码中,我们使用了匿名内部类来实现Runnable接口,并在run方法中定义了线程要执行的代码逻辑。然后,我们创建了一个Thread对象,并将匿名内部类对象作为参数传递给Thread的构造函数。
最后,通过调用thread.start()方法来启动线程,使其开始执行run方法中定义的代码。
通过使用匿名内部类,我们可以在创建对象的同时编写实现接口或继承父类的代码,使代码更加简洁和灵活。