java面向对象——继承

来源:互联网 发布:加藤小雪相貌知乎 编辑:程序博客网 时间:2024/05/16 02:34

1、概述:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承单独的那个类即可;多个类可以称为子类,单独这个类称为父类或者超类。

2、格式:class 子类名 extends 父类名{}

3、子类可以继承到父类哪些成员:

1):若父类成员使用public修饰,子类可以继承.

2):若父类成员使用包访问权限(不写):

  若子类和父类在同包中,可以继承.

  若子类和父类不在同包中,则不能继承.

3):若父类成员使用private修饰,子类不能继承.(要访问父类的私有属性必须用共有的setget方法)

4):父类的构造器,子类也继承不到.

4、Java中类的继承,只允许单继承不支持多继承;一个类,只能有一个直接的父类,但是允许多层继承

class A{}Class B extends A{}class C extends B{}

5、方法的重写(覆写):子类重新覆盖该方法,并重新编写方法体。

子类不能降低父类继承过来的方法的权限,权限只能放大,不能缩小。

方法的重写(覆写),只能对方法有效,,构造器,字段没有覆盖的概念。

(注意和方法的重载作区分:方法重载(Overload):在同一个类中,方法名相同,参数列表不同;

方法覆盖(Override):存在继承关系,强调的是父类和子类的方法.

6、子类实例化:自动调用所有父类函数(父类,父类的父类...

 

Super关键字

指定调用父类方法,可以调用父类对应参数的构造函数,和this用法相同,只能放在构造函数第一行。


抽象类(abstract):

格式:修饰符 abstract返回值类型 函数名(参数列表) ;

1、抽象类就是类的模板;

2、不能创建实例;

3、当一个普通类继承一个抽象类,就必须实现父类的所有抽象方法;

4、抽象类也有构造函数。


Object类:

Object,是所有类的根类(老祖宗)

一个类的直接父类或者间接父类都是Obeject类;

class Employee {}  <==>  class Employee extends Object{}


原创粉丝点击