java继承静态方法复写

最近和人交流,遇到了这样一个问题,就是继承当中,静态方法复写的情况。
如果在子类中,复写方法没有添加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

你可能感兴趣的:(java)