------- 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培训、期待与您交流! ----------