访问控制符
用来控制一个类,或者类中的成员的访问范围。
类 | 包 | 子类 | 任意 | |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
default | √ | √ | ||
private | √ |
面向对象第二特征:继承
1.概述
是在程序中体现了两个类之间的关系
父类和子类。。。子类继承父类后,可以使用父类的所有功能,并且还能扩展
子类只能继承一个父类
好处:提高了代码的复用性
2.特点
1、 使用extends关键字
2、 相当于子类把父类的功能复制了一份
3、 java只支持单继承
4、 继承可以传递(爷爷,儿子,孙子的关系)
5、 不能继承父类的私有成员
6、 继承多用于功能的修改,子类可以拥有父类的功能的同时,进行功能拓展
7、 像是is a 的关系
super关键字
1.特点
super代表父类对象的一个引用
super是用在子类中的,用来调用父类的内容
如果出现在构造方法中,super必须是一条语句–类似this
方法的重写override
1.概述
前提是发生继承关系
普通的继承关系,可以减少子类代码的编写,提高父类代码的复用性
但是,如果继承过来的方法想要改--------发生了方法重写的现象
要求:子类中方法签名与父类完全一样(包括方法的返回值,方法名和参数列表,完全一致)时,会发生覆盖/复写操作,相当于修改功能
static关键字
1.概念
是java的一个关键字,用于修饰成员(成员变量和成员方法)
2.特点
1、 可以修饰成员变量,成员方法
2、 随着类的加载而加载,优先于对象加载
3、 只加载一次,就会一直存在,不再开辟新空间
4、 全局唯一,全局共享
5、 可以直接被类名调用
6、 静态只能调用静态,非静态可以随意调用
7、 static不能和this或者super共用,因为有static时可能还没有对象
静态代码块
1.概述
通常用来完成项目的初始化,拥有static的所有特点
2.特点
位置是在成员位置
static{ 。。。}