继承
概念:
顾名思义就是"子承父业",“儿子继承父亲的财产”. 但在Java中没有财产一说,也没有父亲儿子一说所以指的是"子类继承父类的代码"。
格式:
public class 子类名 extends 父类名{
}
注意:
- Java只支持单继承,不支持多继承,但支持多层继承.
- 继承必须是逻辑能讲得通的继承
- 构造方法不能被继承
优缺点:
优点:
- 提高了代码的复用性
- 提高了代码的可维
护性
缺点:
- 耦合性提高了,降低了子类的独立性.
- 继承必须全继承(不管好的坏的一起继承),不能部分继承.
继承中的成员特点:
成员变量: 就近原则.
成员方法: 就近原则.
构造方法:
-
子类构造方法默认调用父类无参构造方法(有父亲才能有儿子).
-
如果父类没有无参构造方法,则会报错.如果不想报错,可以"手动访问父类有参构造方法super(…)“,或可以"手动添加父类无参构造方法”.
super
概述:
super和this功能类似,只不过,this操作本类成员,super操作父类成员.
语法:
成员变量: this.子类成员变量 super.父类成员变量
成员方法: this.子类成员方法() super.父类成员方法()
构造方法: this(参数) super(参数)
注意:
super只能写在子类中.
重写
概述:
子父类中出现"方法声明一模一样的两个方法",则这两个方法之间的关系是"方法重写(Override)"
特点:
-
必须是子父类关系
-
子类方法和父类方法一样.
应用:
当子类对父类方法不满意时,进行重写,可以覆盖继承父类的方法.
访问修饰符
权限修饰符:
控制访问权限.
-
private: 只能在本类内部访问
-
缺省: 在同一个包中可以访问.
-
protected: 在同一个包中,或者在子类中可以访问.
-
public: 任何地方都可以访问.
状态修饰符:
控制状态.
- final: 最终的,不可改变的.
- static: 静态的.
- abstract: 抽象的.
final
概述:
final代表最终的,不可改变的.可以用来修饰"类,方法,变量";
特点:
- 修饰类: 类不能被继承. 修饰方法: 方法不能被重写.
- 修饰变量: 变量不允许修改. (基本数据类型:值不可改变,
- 引用数据类型:内存地址不允许改变)
static
概述:
static表示静态的, 可以用来修饰"成员方法,成员变量".
特点:
- 被static修饰的成员,可以被所有对象访问.
- 被static修饰的成员,可以使用"类名.成员"来访问.
- 静态的只能访问静态的.