publicabstractclassAnimal{publicabstractvoideat();}publicclassDogextendsAnimal{@Overridepublicvoideat(){System.out.println("狗看门");}}publicclassAnimalOperator{//方法的形参是抽象类名publicvoiduseAnimal(Animal a){//Animal a =new Dog
a.eat();}//方法的形参是返回值publicAnimalgetAnimal(){Animal a=newDog();return a;}}//主方法有部分省略AnimalOperator ao =newAnimalOperator();Dog d =newDog();
ao.useAnimal(d);Animal a2=ao.getAnimal();//new Dog
a2.eat();
publicclass one {privateint number =1;publicclassInner{publicvoidshow(){System.out.println(number);}}publicvoidmethod(){Inner i =newInner();
i.show();}//主方法publicstaticvoidmain(String[] args){one.Inner w=newone().newInner();
w.show();// one a=new one();// a.method();}}
publicclass test {publicstaticvoidmain(String[] args){JumpingOperator jo =newJumpingOperator();Dog d =newDog();
jo.method(d);
jo.method(newJumping(){@Overridepublicvoidjump(){System.out.println("猫可以跳高了");}});//匿名内部类的使用//此方法可以减少类的创建}