使用方式如:new 接口(){
..需要实现的方法..};
new 抽象类(){
..需要实现的方法...
}
public abstract class Animal {
public abstract void isLive();
}
public interface Eat {
void eat();
}
public interface Play {
void play();
}
public class Tiger {
//继承接口eat
public Eat getEat(){
return new Eat(){//实现接口中的方法,产生一个带eat方法的匿名内部类,方法不执行
public void eat() {
System.out.println("实现接口eat的方法");
}
};
}
//继承接口play
public Play getPlay(){
return new Play(){
public void play() {
System.out.println("实现接口play的方法");
}
};
}
//继承抽象类
public Animal getAnimal(){
return new Animal(){
public void isLive() {
System.out.println("继承类抽象类,实现islive方法");
}
};
}
//还可以继承其他接口或者类,内部类能实现多继承和实现多个接口,层次清晰明了
public static void main(String[] args){
Tiger t = new Tiger();
t.getEat().eat();
t.getPlay().play();
t.getAnimal().isLive();
}
}
打印结果:
实现接口eat的方法
实现接口play的方法
继承类抽象类,实现islive方法
具体作用不说了,代码已经体现