java-06-继承

1.继承的概念

继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

语法:

class 子类 extends 父类{}

2.继承的限制

1).子类只有一个父类,但是可以多层继承class A {} class B extends A {} class C extends B {}

class A {}

class B extends A {}

class C extends B {}

B类继承了A类的全部方法,而C类又继承了A和B类的方法,这种操作称为多层继承。

2).子类继承的时候,可以继承父类的所有操控(属性,方法),但是注意所有的非私有无法进行访问,但是

但是却发现可以通过setter、getter方法间接的进行操作。

3).在继承关系中,如果要实例化子类,会默认先调用父类构造,为父类初始化后,之后再调用子类构造。

即:默认情况下,子类会找到父类之中的无参构造方法。

3.super关键字用法

在子类的成员方法中,访问父类的成员变量,访问父类的成员方法;在子类的构造方法中,访问父类的构造方法

 

 

抽象

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类;抽象来除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法、初始化块和构造方法和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。
抽象方法:只包含一个方法名,而没有方法体,使用abstract修饰
格式: {修饰符} abstract 返回类型 方法名();
修饰符(pubic protected private)

抽象类必须使用abstract修饰符来修饰。抽象方法也必须使用abstract修饰符来修饰,不能有方法体。
抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例;
抽象类可以包含成员变量、方法(普通方法和抽象方法都可以)、构造器、初始化块、内部类(接口、枚举)5种成分
1.不能使用new抽象类对象

2.必须用一个子类来继承抽象父类

3.子类必须覆盖重写抽象类当中所有抽象方法。

覆盖重写(实现):子类去掉抽象方法的abstract的关键字,然后补上方法体。

4.创建子类对象使用 

 

posted @ 2021-03-29 20:47  August_w  阅读(81)  评论(0)    收藏  举报