public class M {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person one = new Person();
one.seeAnimal(new Animal(){
public void Doing(){
System.out.println("四条腿走路");
}
public void eating(){ //特有的方法
System.out.print(" "+"吃龙虾");
}
});
Animal fish = new Animal(){
public void Doing(){
System.out.println("一条尾巴游泳");
}
public void eating(){
System.out.println("吃小龙虾");
}
};
one.seeAnimal(fish);
//fish.eating(); //出错,父类不能访问子类中父类没有的方法
//访问方法之一
new Animal(){
public void Doing(){
System.out.println("一条尾巴游泳");
}
public void eating(){
System.out.println("吃小龙虾");
}
}.eating();
//方法二直接定义fish类型
//局部类数据访问问题
Add a = new Add();
a.showfinal();
}
}
public class Person {
public void seeAnimal(Animal a){
a.Doing();
}
}
abstract public class Animal {
abstract public void Doing();
}
public class Add {
public int number = 0;
public void showfinal() {
final int aaa = 55;
int bbb = 77;
class data { //局部内部类,不能加访问修饰符,只能访问内部常量
int schooldata = 11;
String namedata = "222";
public void getData() {
System.out.println("schooldata = " + schooldata);
System.out.println("namedata = " + namedata);
System.out.println("number = " + number);
System.out.println("aaa = "+aaa);
System.out.println("bbb = "+bbb);
}
}
data d = new data();
d.getData();
}
}