黑马程序员——java小结_004_继承和构造函数

------- android培训java培训、期待与您交流! ----------

    作为c程序员你都知道C++里面的继承是一个很特殊的体系,我们经常可以开玩笑说某个类有n个干爹,例如某美美一样o(╯□╰)o

    但是java不一样,java类没有多继承,它只能有一个干爹

       因为如果两个父类如:

int show(){}

boolean show(){}

       因为两个show都有实体,子类将不知道运行哪个show.

下面举个列子来理一下继承的一些关系和顺序:

<span style="font-size:18px;">class Person
{
 private staticfinal int year = 2014;
 Person()
 {
 System.out.print(year);
 }
}
class Student1extends Person
{
 void show1()
 {
 System.out.print(" i ");
 }
 Student1()
 {
  this.show1();
 System.out.print("want ");
 }
}
class Student2extends Student1
{
 Student2()
 {
  //隐含了super();
 System.out.print("get a good ");
 }
}
class FinalDemo
{
 public staticvoid main(String[] args)
 {
  Student2 S =new Student2();
 System.out.print("job!");
 
 }
}</span>


/*当主函数创建对象S时,因为student2继承于student1所以想访问st1,

st1中我们自己定义了构造函数,所以st2访问到了我们自己定义的构造函数,

由于将默认的super()改为了this。show1(),所以要先创建st1.show(),

而st1继承于Person,确定了在st1被创建之前要先创建其父类Person。

结论:继承关系优先,其次是this和super指针。

调用子函数时一定要理清关系顺序*/

 

------- android培训java培训、期待与您交流! ----------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值