疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java类的继承的总结


 

  继承的概念

  编程时经常遇到一些事物它们彼此具有相似的特征也具有各自独有的部分。就好像人与人,有共性也有特性。比如说,我们都是直立行走解放双手。但是有些人眼睛大,有些人眼睛小,有些人瞳孔是黑色的,而有些人不是。这就是我们各自的特性了嘛!都说没有两片相同的叶子,也没有两个相同的人就是这个意思吧。所以有的人可以是明星,有的人也安于做一个普通人。接着说编程,继承呢就是将事物中相似的部分抽离出来写成一个类,这个类叫父类(一般类),而别的类(子类,特殊类)通过继承这个机制拥有这些普通的特征。特殊类自动的,隐含的拥有了它的一般类(以及更上一层的一般类)中定义的属性和操作。特殊类的对象拥有其一般类中的全部或者部分属性与方法,称作特殊类对于一般类的继承。

  继承的两个注意的点:

  1.继承关系是可以传递的。若类C继承类B,类B继承类A,则类C既有从类B中继承的属性和方法,也含有类A那里继承来的属性和方法。

  2.Java中仅仅支持单继承,但是可以通过接口机制来实现多重“继承”。

  继承标示符:extends

  例如:public class marriedMan extends man{}

  即marriedMan 继承了 man。使用extends表示继承。

  *子类可以从父类继承所有非private的属性和方法作。一个类,再不给出extends及父类名字的时候,默认是系统类object的子类。

  this关键字的使用:this代表的事当前对象的一个引用。在类中方法的形参名和属性的名字相同的时候,或者类中方法的局部变量和属性相同时,可用this来表示引用的事类的属性。

  使用:1.用来访问当前对象的属性和方法。

  this.属性名称

  this.方法名称(形参)

  2.有不止一个的构造方法时,用来引用构造方法。 this.(参数)

  super关键字的使用:super表示的是当前类的直接父类的对象。若子类的属性或者方法与父类的相同,又需要调用父类的属性或者方法时,就需要用到关键字super。

  使用:1.用来访问当前对象直接父类的属性和方法。

  super.属性名称

  super.方法名称(形参)

  2.直接调用父类的构造方法

  super(参数)

  成员方法的重写:

  子类可以重新定义与父类同名的方法,实现对父类方法的重写。

  子类重写父类中有的方法时,应保持与父类完全相同的方法名,返回值和参数列表。否则就不是方法重写了,是子类新建的一个方法与父类就无关了。

  原因:子类方法对父类方法进行重写的时候将覆盖父类方法在子类对象中占用的内存,即父类方法在子类中不复存在了。与重写不同的是子类对象给予有相同名字的属性开辟了单独的空间,与重写是的情况不同。

  构造方法的重载和继承

  继承:1.子类无条件的继承父类的不含参数的构造方法。若子类没有自己的构造方法,将以此作为自己的构造方法

  2.子类自己有构造方法,在创建对象的时候将首先调用继承自父类的无参构造方法,然后才执行自己的构造方法。

  3.对于父类中有参的构造方法,子类的构造方法可以通过super来调用它,如果需要的话。但值得注意的事super语句必须是该构造方法的第一可执行语句。

  重载:一个类中的若干个构造方法可以相互调用。当一个方法需要调用另一个构造方法的时候,可以使用关键字this。应该注意的是this语句必须是该构造方法的第一个可执行语句。