Java 靜態方法不能重寫但可以被子類靜態方法覆蓋


強調

靜態方法是屬於類的,只存在一份,會被該類的所有對象共享。不可以被重寫。

靜態方法可以被子類繼承,但是不可以被子類重寫

class door{
	
}
class wood_Door extends door{
	
}

class math{
	static public door getMes() {
		return new door();
	}
}


public class HelloWorld extends math {
	
	public static wood_Door getMes() {
		return new wood_Door();
	}
	
	public static void main(String[] args) {
		math m=new HelloWorld();
		System.out.println(m.getMes());

	}
}
//輸出為door@161cd475

子類定義的方法與超類的私有方法或者靜態方法同名
對超類的私有方法,由於無法派生給子類,因此子類在定義與該類方法同名的方法時不存在任何前提限制。他們的關系可以描述為:重定義,即重新定義類中的成員。
子類不能通過繼承重寫父類的靜態方法,但是可以隱藏父類的方法,如下


class door{
	
}
class wood_Door extends door{
	
}

class math{
	static public door getMes() {
		return new door();
	}
}


public class HelloWorld extends math {
	
	public static wood_Door getMes() {
		return new wood_Door();
	}
	
	public static void main(String[] args) {
		HelloWorld m=new HelloWorld();
		System.out.println(m.getMes());

	}
}
//輸出為wood_Door@532760d8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM