匿名内部类:首先得继承或者实现。先抽象定义一个父类或者一个接口,再在测试类里面写
1.要求都要参加或者类似的要求,需要在主方法之前用静态,父类或者接口作为参数实现其功能,再写主方法,实现其静态方法接口:
public interface Sport {
public abstract void swim();
}
测试类:
public class Test {
public static void enterSportsMeet(Sport s){
s.swim();
}
public static void main(String[] args) {
enterSportsMeet(new Sport(){
public void swim(){
System.out.println("在游泳池里游泳");
}
});
}
}
2.没要求用静态的
抽象类:
public abstract class Pet {
private String name;
public abstract void eat();
public Pet() {
super();
// TODO Auto-generated constructor stub
}
public Pet(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
测试类:
public class Test {
public static void main(String[] args) {
Pet p1=new Pet(){
public void eat(){
System.out.println("宠物1叫"+getName()+"在吃魚");
}
};
p1.setName("Tom");
p1.eat();
new Pet("小黑"){
public void eat(){
System.out.println("宠物2叫"+getName()+"在啃骨头");
}
}.eat();
}
}