java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

一、继承

1、当一个类需要继承自另一类的时候,使用关键字extends

2、当一个类继承了某个类之后,继承方:子类(派生类)

被继承方:父类(超类、基类)

3、当子类继承了父类后,就自动拥有了父类中允许被继承的成员,包括成员变量、成员方法,构造方法不能被继承

二、继承的优点

1、提高了代码的复用性。

2、由于共享的内容被放置在一个类中,如果有需要更改,只需要修改父类即可

3、为多态提供了前提

三、继承的缺点

1、一点继承,则子类依赖于父类,必须要有父类的存在,子类才能编译成功

四、继承的特点

1、java只允许但继承,一个类只能继承自一个类

2、java允许多重继承,如B

extends A,C extends B

五、继承的注意事项

1、子类只能继承父类的非私有成员(成员变量和成员方法)

2、子类不能继承父类的构造方法,但是可以通过super关键字访问父类的构造方法

3、不要为了部分功能而去继承

六、什么时候使用继承

当子类相对父类是“is a”的关系时,就可以继承

七、类与类之间的关系

1."is a"(是一个):常见的就是"继承";

classPerson{}

classStudent extends Person{}

2."has a"(有一个):

class

学生{}

class

老师{}

//教室里面有:一个"老师",80名"学生"

class

教室{

int

楼层;//自有的属性

int

面积;//自有的属性

老师 tea = new

老师();//"老师"的对象最为"教室"的成员属性

学生[] stuArray = new

学生[80];//"学生"数组作为"教室"的成员属性

}

3."组成关系":一个类中没有"自有成员",全部都是其它的"类类型",由其它"类"组成的;

classCPU{}

class

硬盘{}

class

主板{}

.....

//"电脑"类全部都是由其它"类"组成

class

电脑{

CPUcpu;

硬盘 yp;

主板 zb;

....

}

4."依赖关系(关联关系)":

class

学生{}

class

老师{}

class

校长{

void talk(学生xs){//由于talk方法接收的是"学生"类型的对象,我们说:"校长类"依赖于"学生类"

}

void talk(老师 ls){

}

}

八、继承中的关系

1、父类中的非私有成员会被继承,构造方法不能被继承

2、子类中若有与父类中同名(返回值类型可以不同)的成员变量,则子类中的变量会覆盖父类中的变量

3、在一个方法中使用某各变量,先在本方法中查找,再到成员变量中查找,最后到父类的成员变量中查找,按照就近原则

九、继承中构造方法的关系

1、当实例化一个子类的对象时会先实例化父类的对象

2.一个类中如果只提供了带参构造方法,则系统不会再自动提供无参构造方法,当子类继承父类方法时,如果父类没有提供无参构造方法,只有带参的,那么必须在子类的构造方法中显示的调用父类的构造方法

java继承

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。