public class Demo {
public static void main(String[] args) {
Dog dog = new Dog();
dog.run();
}
}
class Animal {
public void run() {
System.out.println("Animal is running");
}
}
class Dog extends Animal{
public void run() {
System.out.println("dog is running");
super.run();//调用父类的run方法。是普通方法时,这个可以不在第一行,但是输出顺序也不一样
}
}
public static void main(String[] args) {
Son son = new Son();
}
}
class Grandpa {
public Grandpa() {
System.out.println("grandpa");
}
}
class Father extends Grandpa {
public Father() {
System.out.println("father");
}
}
class Son extends Father {
public Son() {
System.out.println("son");
}
}
public static void main(String[] args) {
Dog dog = new Dog();
dog.run();
}
}
class Animal {
public void run() {
System.out.println("Animal is running");
}
}
class Dog extends Animal{
public void run() {
System.out.println("dog is running");
super.run();//调用父类的run方法。是普通方法时,这个可以不在第一行,但是输出顺序也不一样
}
}
方法重写(Override):子类与父类的方法返回类型一样,方法名称一样,参数一样,这样子类与父类的方法就构成了重写关系。
方法重写与方法重载的关系:
方法重载发生在同一个类内部的两个或多个方法。
方法重写发生在父类与子类之间。一定是伴随着继承而发生的
public static void main(String[] args) {
Son son = new Son();
}
}
class Grandpa {
public Grandpa() {
System.out.println("grandpa");
}
}
class Father extends Grandpa {
public Father() {
System.out.println("father");
}
}
class Son extends Father {
public Son() {
System.out.println("son");
}
}