Java面相对象
继承专题
继承
1:提高了代码的复用性
2:表达了类与类之间的关系。
3:千万不要为了获取其他类的功能而去选择继承,类与类之间必须有某种联系才可以用继承,比如他们具有某种共性而去继承,例如我下面的例子中,person类具有人类共有属性年龄与姓名,而student类具有学习的功能,而工人具有工作的功能。但student与worker都继承了person类的属性,因为年龄与姓名是工人与学生共有的属性。
4:继承只支持单继承,不支持多继承。单继承指a类为父类(或称之为超类),而b类也为父类,如下所示,c类继承了a,b类,但
Java保留了多继承这种机制,并用了另一种表现形式来体现,叫做多实现。
class a
{
void show()
{
System.out.println("d");
}
}
class b
{
void show()
{
System.out.println("a");
}
}
class c extend a,b
{
System.out.println("f");
}
public class Demo
{
public static void main(String[] args)
{
c.p=new c();//创建对象
c.show();
}
}//此时的c类继承了a,b类,但a,b类中具有相同的方法show(),此时的多继承就出现了错误,因为对象不知道该调用哪个show函数,
5:如何使用一个继承体系中的功能?
要想使用体系,先查阅体系父类的描述,因为父类定义的是该功能的共性功能。
通过了解共性功能,就可以知道该体系的基本功能。
那么这个体系就可以基本使用了。
那么在具体调用时,要创建最子类功能的对象:原因1:有可能父类创建不了对象,如抽象类,2:创建子类的对象可以使用更多的功能,可以是共有的也可以是特有的
简单一句话说就是:查阅父类的功能,创建子类使用功能。