C#中比C++好多了,重写的时候加上了override关键词,调用父类的方法时候加上了base关键词。
3.java 中的 Virtual
import java.util.LinkedList;
import java.util.List;
public class Animal {
public void eat(){
System.out.println("Animal eat");
}
public void die() {
System.out.println("Animal die");
}
/**
* @param args
*/
public static void main(String[] args) {
List<Animal> someAnimals = new LinkedList<Animal>();
someAnimals.add(new Animal());
someAnimals.add(new Dog());
someAnimals.add(new Cat());
someAnimals.add(new Lion());
for(Animal animal : someAnimals){
animal.eat();
}
}
}
public class Cat extends Animal{
@Override
public void eat() {
System.out.println("Cat eat");
}
}
public class Dog extends Animal{
@Override
public void eat(){
System.out.println("Dog eat");
super.die();
}
}
public class Lion extends Animal{
}
java这里好方便,尼玛所有函数默认就是virtual函数,连个virtual关键词都没有,好了,你们要随便重写你们自己搞。重写的时候加上个@override关键词。好像有时候不用也行,看jdk版本。调用父类方法的关键词是super.还行。