继承:
继承是Java当中的第二个重要特性:extends关键字----扩展
对相同的代码进行抽取----工具类的概念---封装
让多个有重复性的类产生关联性 继承关系
把重复性的代码放到共有类当中,让其他类去继承这个共有类
特点:
一个class子类只能有一个直接父类,
通过继承子类可以获取到父类当中所有的成员信息
变量特点:
1 当父类的成员变量是私有的,子类虽然有父类
的成员变量,但是是不能直接使用的。只有当
父类的成员变量非私有,子类才可以直接使用 2 如果子类定义了相同的成员变量,那么子类在使
用时,优先使用的是自己定义的成员变量 3 如果子类定义了相同的成员变量,那么如果想要
使用父类的成员变量,使用关键字super来调用
父类当中的成员变量
继承关系的成员方法特点: 1 如果父类的成员方法是私有的,那么子类是不能
使用的,如果父类的成员方法非私有,那么子类可以 2 如果子类定义了相同的成员方法,这种叫方法重写
(覆盖),改变原来内容,重新定义,子类调用该方
法时,优先调用的是子类重写后的方法,如果该方法
没有,那么它会层层往父类当中去查找。 3 使用idea工具在进行方法重写提示时,idea工具会
自动添加一个注解@Override,表明修饰的方法是来源
于它的父类 4 如果子类想要使用父类当中的方法,需要使用super
关键字来进行调用。 5 如果你既想要保留父类原有的功能,又想要进行功能
扩展,那么可以在方法重写内容首先执行super.(父类)方法
备注:
如果在进行方法重写时,你修改父类的方法参数
(参数个数,类型,顺序),系统会判定这是一个新
方法,此时在进行方法重载,而非方法重写
如果在进行方法重写时,你修改的不是方法参数,而是
方法的修饰符和返回值类型,此时程序判定这是一个相
同方法,同一个方法是不能定义的,此时是一个非法操
作
使用继承语法格式: class 类名(子类) extends 类名(父类){}
superclass父类 subclass子类
假设a类有吃喝拉撒睡 ,b类当中也有吃喝拉撒睡----删除a类当中
的吃喝拉撒睡睡功能,让a类 extends b类
假设A类当中有吃喝学习工作 B类当中有吃喝抽烟赌博,创建一个共有类
删除A类当中的吃喝功能,删除B类当中的吃喝功能
让A类extends C类; 让B类extends C类;*/
//被public修饰的类名必须和所在的类文件名称保持一致
//一个类文件当中只能有一个被public修饰的类
凡是被static修饰的----static context
静态信息只能在静态的环境中使用,如果想要
在静态环境中使用非静态信息只能通过对象来
使用,对于非静态信息一般使用在非静态环境
中,如果使用静态信息可以直接使用
方法重写
在子类进行方法重写时,必须保证子类声明的方法格
式与父类定义的方法格式一致,方法重写是通过方法
名称来进行匹配的
如果子类在方法上添加不同的方法参数,系统会判定
当前这个方法是一个新方法,此时在进行方法重载