日復一日,年復一年。一個曾經如此天真無暇的孩子如今變得老練成熟,是什麼改變了他呢?是時間,時間真是把殺豬的刀啊!
今天我有幸看到一篇非常好的博文,自己學習到了很多,然後結合自己的理解在這裏跟大家分享:
繼承:
如果大家有學過面向對象的編程語言,那麼對這一概念就會非常的清楚:
下面給大家演示代碼:
public class Animal {
private String name;
private String type;
Animal(){
System.out.println("Animal Father(no value):");
}
Animal(String name,String type){
this.name=name;
this.type=type;
System.out.println("Animal Father(two value):"+"myname"+name+"I belong to:"+type);
}
}
public class Bird extends Animal{
private String song;
Bird(){
System.out.println("Bird Father(no value):");
}
Bird(String name,String type){
//super(name,type);
System.out.println("Bird Father(two value):"+"I`m"+name+","+"I blong to"+type);
}
Bird(String song){
this.song=song;
System.out.println("Bird Father(one value):"+"I can"+song);
}
}
public class MQ_bird extends Bird {
MQ_bird(){
System.out.println("hello,I`a small MQ_bird.........");
}
MQ_bird(String name,String type){
//super(name,type);
System.out.println("I`m"+name+","+"I blong to"+type);
}
MQ_bird(String name,String type,String song){
System.out.println("I`m"+name+","+"I blong to"+type+","+"I can"+song);
}
}
public class main {
public static void main(String[] args)
{
new MQ_bird();----------------------------------------------(1)
//new MQ_bird("MQ","brid type");----------------------------(2)
//new MQ_bird("MQ","brid type","songing");------------------(3)
}
}
</pre><pre name="code" class="java">下面是以上三個輸出的結果:
<pre name="code" class="html">(1)
Animal Father(no value):
Bird Father(no value):
hello,I`a small MQ_bird.........
(2)
Animal Father(no value):
Bird Father(no value):
I`mMQ,I blong tobrid type
(3)
Animal Father(no value):
Bird Father(no value):
I`mMQ,I blong tobrid type,I cansonging
我想大家都比較清楚的看出了,但是有一點需要注意,如果在實例化對象的時候,他會默認的調用父類的無參構造函數,但是當你使用了super的話,他就會根據你的需求去調用相應的父類的構造函數。
每日勵志:
所謂天才,只不過是把別人喝咖啡的功夫都用在工作上了。—— 魯 迅