最近和人交流,遇到了这样一个问题,就是继承当中,静态方法复写的情况。
如果在子类中,复写方法没有添加static关键字,则IDE会提示:This instance method cannot override the static method from T1
如果在子类中,复写方法与父类一致,此时若添加@Override注解,则IDE报错提示:The method print() of type T2 must override or implement a supertype method
但是一般人也没这么使用的,方法复写。只是记录下来,以便了解。
输出
super
this
如果在子类中,复写方法没有添加static关键字,则IDE会提示:This instance method cannot override the static method from T1
如果在子类中,复写方法与父类一致,此时若添加@Override注解,则IDE报错提示:The method print() of type T2 must override or implement a supertype method
但是一般人也没这么使用的,方法复写。只是记录下来,以便了解。
package com.chinaso.phl;
public class TestT {
public static void main(String[] args) {
T1 t = new T2();
t.print();
T2 t2 = new T2();
t2.print();
}
}
class T1 {
public static void print() {
System.out.println("super");
}
}
class T2 extends T1 {
public static void print() {
System.out.println("this");
}
}
输出
super
this