概念:面向对象的三大特征之一,用来描述类和类的关系用的
好处:
可以抽取子类共性的内容,提高代码的复用性,提高代码维护性,父类中定义非私有的东西,“子类”可以直接使用的!!!
弊端:
子类和父类的耦合度增强,父类一旦发生变化,子类不得不一起跟着变化
格式: extends
如:public class Fu{}
public class Zi extends Fu{}
注意:
不能下使用继承,满足 is a 才可以!!!是谁的一种情况才能使用!!!
java只支持单继承,不支持多继承,支持多层继承
1.2 子类可以使用父类的也可以使用自己的 1.21子类的成员变量和父类的成员变量一样使用的是子类的, 因为遵循了就近原则!!!!!!如果非要访问父类的成员变量,需要使用super关键字
(不重要)因为以后父类的成员变量都会私有化, 是不能直接访问的!!!!!
1.22子类的成员方法和父类的成员方法一样使用的是子类的, 因为遵循了就近原则!!!!!!如果非要访问父类的成员方法,需要使用super关键字
这种现象称为重写
注意:
我们可以通过@Override来校验是否正确重写, 就算没有这个注解, 如果满足重写的要求也算重写!!!!
1.23子类会默认走父类的构造系统会默认帮你调用父类的无参构造
因为:子类随时都要使用父类的东西, 所以必须保证父类的数据在堆内存中初始化好才能使用, 所有一定要走父类的构造函数, 而且父类的构造要先走!!!!!!
使用场景
一般我们习惯, 子类的无参调用父类的无参, 子类的满参调用父类的满参!!!!!
补充:
this用来调用本类的成员或者构造, 而super是用来调用父类的成员以及构造,当子类中没有的时候,this也能去父类中寻找
2.权限修饰符 3.final修饰符, 可以修饰类, 变量, 方法
3.1修饰类这个类是最终类, 不能在有子类!!! 所有的内容都不能被重写!!!!
3.2修饰方法
这个方法不能重写了!!!!!
3.3.修饰变量
3.31修饰局部变量
变量有且只能被赋值一次!!!!! 命名规范一般和普通变量命名规范一致!!!!!!
3.32修饰成员变量
1.变量有且只能被赋值一次!!!!!
2.直接赋值(推荐的)
3.通过构造赋值(极其不推荐!!!!) 必须保证每一个构造都要对final修饰的成员变量赋值才可以!!!!!!
4.命名规范需要大家每个单词每个字母都要大写, 多个单词之间用_隔开!!! 如:int MAX_AGE = 100;
5.被final修饰的变量就是常量!!!!!!
6.使用场景 可以让普通的常量更具备可读性!!!!!!!
4.static修饰符 修饰成员变量成员方法
修饰成员变量
被这个类所有的对象所共享!!!!!可以使用类名.方式访问
修饰成员方法
可以使用类名.方式访问
特点
1.随着类的字节码的加载而初始化2.被所有对象所共享,属于整个类共享的数据3.可以直接拿类名去使用, 不需要依附对象, 而且也建议大家通过类名的方式来访问!!!!4.随着类的加载而加载, 随着类而消失, 驻留内存中时间比较长, 用慎用!!!!!!5.静态的只能访问静态



