日复一日,年复一年。一个曾经如此天真无暇的孩子如今变得老练成熟,是什么改变了他呢?是时间,时间真是把杀猪的刀啊!
今天我有幸看到一篇非常好的博文,自己学习到了很多,然后结合自己的理解在这里跟大家分享:
继承:
如果大家有学过面向对象的编程语言,那么对这一概念就会非常的清楚:
下面给大家演示代码:
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的话,他就会根据你的需求去调用相应的父类的构造函数。
每日励志:
所谓天才,只不过是把别人喝咖啡的功夫都用在工作上了。—— 鲁 迅