public class 子类名称 extends 父类名称{}

继承中成员变量的访问特点;

在父子类的继承关系中,如果成员变量重名,则创建子类对象时,访问规则有两种方式:

1直接通过子类对象访问成员变量

左边是谁就优先用谁,没有就向上找

2间接通过成员方法访问成员变量

如果这个方法是子类的优先用子类的,没有就向上找;

 

区分子类方法中的重名三种:

局部变量:  直接写

本类的成员变量:  this.变量名

父类的成员变量:super.变量名

 

继承中成员方法重名的访问特点:

创建的对象是谁,就 优先用谁,如果没有就向上找

方法的重写:

在继承关系当中,方法的名称一样,参数列表也一样

重写:继承当中,方法的名称一样,参数列表一样

重载:方法名称一样,参数列表不一样

方法的覆盖重写,创建的是子类对象,则优先使用子类方法。

注意:

1@override 写在方法前面,用来检测是不是有效的正确覆盖重写。安全检测的作用;注解可选;

2子类方法的返回值必须小于等于父类方法的返回值范围;

3子类方法的权限,必须大于等于父类权限的修饰符;

public>protected >(default)  >private

 

什么时候应该使用方法的覆盖重写?

设计原则:

对于已经投入使用的类,尽量不进行修改,推荐定义一个新的类,来重复利用其中共性内容,并且添加改动新内容;

 

构造方法的访问特点:

1子类构造方法中有一个默认隐含的“super()”调用,所以一定是先调用父类构造,然后调用子类构造;

2子类构造可以通过super关键字来调用父类重载构造;

3             super的父类构造调用,必须是子类构造方法的第一个语句;不能一个子类构造调用多次super构造。

总结:子类必须调用父类构造方法,不写则赠送super(),写了则用写的执行的super调用,super只能有一个,还必须是第一个;

 

super关键字的三种用法

1在子类的成员方法中,访问父类的成员变量

2在子类的成员方法中,访问父类的成员方法

3在子类的构造方法中,访问父类的构造方法;

 

this关键字的三种用法,用来访问本类内容:

1.在本类的成员方法中,访问本类的成员变量;

2在本类的成员方法中,访问本类的另一个成员方法;

3在本类的构造方法中,访问本类的另一个构造方法;注意:

Athis(。。)调用必须是构造方法的第一个语句;唯一一个

Bsuper和this不能同时使用

 

 

 

Java语言的继承特征:

Java语言是单继承的;

一个类的直接父类只能有唯一一个。但是可以多级继承