欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java隱藏和覆蓋的區(qū)別

在Java中,隱藏和覆蓋是兩個(gè)非常重要的概念,它們都涉及到類和方法之間的關(guān)系。雖然這兩個(gè)概念看起來(lái)相似,但是它們之間有一些關(guān)鍵的區(qū)別。

隱藏指的是在子類中定義了與父類中同名的方法或者變量,此時(shí)父類中同名的方法或變量將被隱藏。子類對(duì)象調(diào)用該方法或變量時(shí),將只能訪問(wèn)到子類中定義的方法或者變量,無(wú)法訪問(wèn)到父類中同名的方法或者變量。

public class Parent{
public void print()
{
System.out.println("Parent Method");
}
}
public class Child extends Parent{
public void print()
{
System.out.println("Child Method");
}
public static void main(String args[])
{
Child obj = new Child();
obj.print();
}
}

在上面的例子中,子類Child繼承了父類Parent中的print()方法,并重寫了該方法。此時(shí),當(dāng)我們創(chuàng)建Child類對(duì)象,并調(diào)用print()方法時(shí),將輸出"Child Method"。這是因?yàn)樽宇愔貙懥烁割愔械膒rint()方法,子類對(duì)象調(diào)用該方法時(shí)將只能訪問(wèn)到子類中的方法,而無(wú)法訪問(wèn)到父類中的方法。

覆蓋指的是在子類中重寫了父類中同名的方法,此時(shí)子類對(duì)象調(diào)用該方法時(shí)將優(yōu)先調(diào)用子類中定義的方法,如果該方法沒(méi)有在子類中被定義,則將優(yōu)先調(diào)用父類中的相應(yīng)方法。

public class Parent{
public void print()
{
System.out.println("Parent Method");
}
}
public class Child extends Parent{
public void print()
{
super.print();   // 調(diào)用父類中的print()方法
System.out.println("Child Method");
}
public static void main(String args[])
{
Child obj = new Child();
obj.print();
}
}

在上面的例子中,子類Child繼承了父類Parent中的print()方法,并在子類中重寫了該方法。此時(shí),當(dāng)我們創(chuàng)建Child類對(duì)象,并調(diào)用print()方法時(shí),將輸出"Parent Method"和"Child Method"。這是因?yàn)樽宇愔貙懥烁割愔械膒rint()方法,并在子類中調(diào)用了父類中的print()方法,子類對(duì)象調(diào)用該方法時(shí)優(yōu)先調(diào)用子類中的方法,如果子類中未定義該方法,則將優(yōu)先調(diào)用父類中的方法。