一、继承-JAVA面对对象的显著特征
1、父类与子类:JAVA中父类与子类是相对的,单一继承(一个子类只有一个父类)。
父类
↓
子类
(继承父类,拥有父类的成员变量
和除构造方法以外的成员方法)
↓
类的实例化(通过new关
键字调用类的构造方法)→父类的实例化:通过new关键字调用父类构造方法
子类的实例化:通过new关键字调用子类构造方法→进入调用父类构造方法→返回子类构造方法,执行后续语句→实例化完成
|
(父类构造方法中执行默认构造方法(无参数型))
2、语句
class 子类 extends 父类{}
|
(若没有extends 父类,
即语句为class 类名,
则默认的父类为object)
3、方法的覆盖与重载
1)方法的重载-------只存在于同类中,方法名相同,参数列表不同。
public void one(){}
public void one(int numb){}
2) 方法的覆盖--------存在于同类和子类中,新类中存在一个方法,其方法名、返回值、参数列表和父类方法相同。
注:1.方法名、返回值、参数列表相同
2.访问权限不能缩小(即父类访问修饰符权限不能小于子类方法访问修饰符)
3.被覆盖的方法不能是final修饰的
4.被覆盖方法不能是private修饰的
1、父类与子类:JAVA中父类与子类是相对的,单一继承(一个子类只有一个父类)。
父类
↓
子类
(继承父类,拥有父类的成员变量
和除构造方法以外的成员方法)
↓
类的实例化(通过new关
键字调用类的构造方法)→父类的实例化:通过new关键字调用父类构造方法
子类的实例化:通过new关键字调用子类构造方法→进入调用父类构造方法→返回子类构造方法,执行后续语句→实例化完成
|
(父类构造方法中执行默认构造方法(无参数型))
2、语句
class 子类 extends 父类{}
|
(若没有extends 父类,
即语句为class 类名,
则默认的父类为object)
3、方法的覆盖与重载
1)方法的重载-------只存在于同类中,方法名相同,参数列表不同。
public void one(){}
public void one(int numb){}
2) 方法的覆盖--------存在于同类和子类中,新类中存在一个方法,其方法名、返回值、参数列表和父类方法相同。
注:1.方法名、返回值、参数列表相同
2.访问权限不能缩小(即父类访问修饰符权限不能小于子类方法访问修饰符)
3.被覆盖的方法不能是final修饰的
4.被覆盖方法不能是private修饰的
5.被覆盖方法不能是static修饰的
3、this关键字和super关键字
1)this关键字
表示当前对象和当前类的实例
可以通过this.调用本类中的所有方法和属性
区别同名变量
public class Animal{
String name;
public Animal(name){
this.name=name; //this.name表示Animal.name
}
}
2)super关键字
super表示父类
可以super.调用父类变量(包括private修饰的成员变量 super.变量名)与方法(super.方法名)
super.构造方法