我有2名對象中定義Java繼承類與主方法
在對象-1,當我引用子對象時,它將調用子方法M1(),而在對象2時我參考子方法M1( ),它引用父對象..
在這兩個我認爲父對象將保持在運行一個子類對象的情況下...
對象1
package pkgB;
class Parent{
static int i = 10;
void m1(){
System.out.println("In Parent = " + i);
}
static void m1(String s){
System.out.println(s +i);
}
}
public class Child extends Parent{
static int i = 20;
void m1(){
System.out.println("In child" + Child.i);
}
public static void main(String[] args){
Parent p = new Child();
p.m1();
}
}
對象2
package pkgB;
class Drink{
public static void m1(){
System.out.println("Im Drink method");
}
}
class Coffee extends Drink{
public static void m1(){
System.out.println("Im Coffee method");
}
}
public class test {
public static void main(String[] args) {
Drink d = new Coffee();
d.m1();
}
}
輸出Dobject-1:
In child20
輸出Dobject-2:
Im Drink method
你不能覆蓋靜態方法。除此之外,您不應該在實例上調用靜態方法。 (您的IDE應顯示警告!) – dognose