首页 > 代码库 > Java面向对象之继承

Java面向对象之继承

Java中的继承:

首先,我们要理解什么时候用继承:继承的子类和父类是is-a的关系,例如:Apple is a fruit。将fruit作为父类,apple作为fruit的一个子类。

继承的语法:

<访问修饰符> 子类类名 extends 父类类名{    子类属性;   子类方法;};

当我们使用继承时,父类除了构造方法外,其他的都可以被子类继承。

super的使用

调用父类的构造方法、属性和方法;调用构造方法的格式为:super();调用属性和方法的格式为:super.属性/方法;

在调用构造方法的时候,super()放在子类的构造方法里,并且放在第一行;调用父类的属性和方法则没有限制,但还是要放在子类的属性和方法里面。

方法的重写

重写的含义:即子类中提供一种方法,名字与父类的方法名完全相同,但是实现是不同的,在调用到该方法时,代替父类的方法被执行。

方法重写的3个条件:

(1)方法的重写是发生在继承关系中的;

(2)子类的方法名和父类一致;

(3)子类方法的访问权限必须大于等于父类方法的访问权限。

final类:

如果将一个类定义成final类,那么这个类将不能被继承。

语法:

<访问修饰符> final class 类名{ };

抽象类:

抽象类是用abstract关键字修饰的类。

语法:

<访问修饰符> abstract class 类名{ };

抽象类要注意一下三点:
(1)抽象类不能被实例化;

(2)抽象类里面可以有抽象方法和普通方法;

(3)抽象类必须被继承才能使用,子类必须实现抽象类中的抽象方法,除非子类也是抽象类。

Java中的访问修饰符:

访问修饰符    本类    子类    不同包中的子类    不同包的非子类

public      Y      Y        Y          Y

protected    Y      Y            Y          N

default      Y      Y         N           N

private      N      N        N          N

 

Java面向对象之继承