java基础第七天总结 继承
来源:互联网 发布:两个数据库数据同步 编辑:程序博客网 时间:2024/06/07 10:34
1.继承
继承定义:
就是将多个相同的成员变量和方法抽取到一个类中,其他类通过继承该类获取这些成员的方式,叫继承
继承实现:
继承的好处:
1.提高代码的复用性
2.提高代码的易维护性
坏处:
增加了代码的耦合度
格式:
lass 子类extends 父类{}
特点:
1.只能单继承,不支持多重继承
2.但可以多层继承
注意:子类只能继承父类的成员变量和成员方法,不能继承构造方法,可以通过super访问
2.重写(Override)
定义:
就是子类重新定义父类的方法
前提条件:
1.重写的方法,必须和父类的方法具有相同的返回类型,参数列表,方法名称
2.重写的方法,访问权限不能低于父类的访问权限
3.只能重写非static的方法
4.重写方法抛出异常,不能大于负累抛出的异常
5.重写可以使用@Override注解进行校验。
面试题:
重写(Override)和重载(Overload)的区别
1.重写是要有继承,因为要重写父类的方法
子类覆盖父类相同的方法,实现逻辑不通
2.重载实在一个类完成的,
方法名一样
参数类型或个数不一样
跟返回值无关
3.super关键字
在java类中使用Super来调用父类中的指定操作:
1.super可用于访问父类中定义的属性
2.super可用于调用父类中定义的成员方法
3.super可用于在子类构造方法中调用父类的构造器
这时super必须放在首行
注:
1.尤其当子父类出现同名成员时,可以用super进行区分
2.super的追漱不仅限于直接父类,直到Object(Object类是所有类的符类)
3.super和this用法相像,this代表本类对象的引用,super代表父类内存空间的标识
super和this的区别:
访问成员变量
this.成员变量 访问本类的
supper.成员变量 访问父类的
访问成员方法:
this.成员方法() 访问本类的
supper.成员方法() 访问父类的
访问构造方法:
this() 访问本类无参构造方法
supper() 访问父类无参构造方法
this(……) 访问本类有参构造方法
supper(……) 访问父类有参构造方法
super和this不能同时访问构造方法
4.访问权限控制
修饰符 类内部同一个包 不同包子类任何地方
private yes 不不 不
Default(不写) yes yes 不 不
protected yes yes yes 不
public yes yes yes yes
注意:类的权限修饰符:public和默认
5.继承中各个成员之间的关系
成员变量
先在子类局部方法里找,局部方法找不到找成员变量,找不到再去父类成员变量找,还找不到就报错
成员方法
现在子类找,子类里找不到再去父类找,还找不到就报错
构造方法(创建对象 初始化)
1.子类在实例化的时候会先访问父类的无参构造方法
2.如果父类没有无参构造方法,那就需要子类通过super关键字调用父类的有参构造方法
6.继承中子类实例化过程
例如:
class Fu{
String name;
public Fu(){
}
}
class Zi extends Fu{
int age;
public Zi(int age){
this.age=age;
}
}
new Zi();
执行过程:
1.调用子类有参构造方法public Zi(int age)
2.判断子类是否有父类,如果有,先对父类的成员变量初始化
3.子类有参构造方法,又会隐式的调用父类的无参构造方法
4.初始化自己的成员变量
5.执行自己的有参构造方法
继承定义:
就是将多个相同的成员变量和方法抽取到一个类中,其他类通过继承该类获取这些成员的方式,叫继承
继承实现:
继承的好处:
1.提高代码的复用性
2.提高代码的易维护性
坏处:
增加了代码的耦合度
格式:
lass 子类extends 父类{}
特点:
1.只能单继承,不支持多重继承
2.但可以多层继承
注意:子类只能继承父类的成员变量和成员方法,不能继承构造方法,可以通过super访问
2.重写(Override)
定义:
就是子类重新定义父类的方法
前提条件:
1.重写的方法,必须和父类的方法具有相同的返回类型,参数列表,方法名称
2.重写的方法,访问权限不能低于父类的访问权限
3.只能重写非static的方法
4.重写方法抛出异常,不能大于负累抛出的异常
5.重写可以使用@Override注解进行校验。
面试题:
重写(Override)和重载(Overload)的区别
1.重写是要有继承,因为要重写父类的方法
子类覆盖父类相同的方法,实现逻辑不通
2.重载实在一个类完成的,
方法名一样
参数类型或个数不一样
跟返回值无关
3.super关键字
在java类中使用Super来调用父类中的指定操作:
1.super可用于访问父类中定义的属性
2.super可用于调用父类中定义的成员方法
3.super可用于在子类构造方法中调用父类的构造器
这时super必须放在首行
注:
1.尤其当子父类出现同名成员时,可以用super进行区分
2.super的追漱不仅限于直接父类,直到Object(Object类是所有类的符类)
3.super和this用法相像,this代表本类对象的引用,super代表父类内存空间的标识
super和this的区别:
访问成员变量
this.成员变量 访问本类的
supper.成员变量 访问父类的
访问成员方法:
this.成员方法() 访问本类的
supper.成员方法() 访问父类的
访问构造方法:
this() 访问本类无参构造方法
supper() 访问父类无参构造方法
this(……) 访问本类有参构造方法
supper(……) 访问父类有参构造方法
super和this不能同时访问构造方法
4.访问权限控制
修饰符 类内部同一个包 不同包子类任何地方
private yes 不不 不
Default(不写) yes yes 不 不
protected yes yes yes 不
public yes yes yes yes
注意:类的权限修饰符:public和默认
5.继承中各个成员之间的关系
成员变量
先在子类局部方法里找,局部方法找不到找成员变量,找不到再去父类成员变量找,还找不到就报错
成员方法
现在子类找,子类里找不到再去父类找,还找不到就报错
构造方法(创建对象 初始化)
1.子类在实例化的时候会先访问父类的无参构造方法
2.如果父类没有无参构造方法,那就需要子类通过super关键字调用父类的有参构造方法
6.继承中子类实例化过程
例如:
class Fu{
String name;
public Fu(){
}
}
class Zi extends Fu{
int age;
public Zi(int age){
this.age=age;
}
}
new Zi();
执行过程:
1.调用子类有参构造方法public Zi(int age)
2.判断子类是否有父类,如果有,先对父类的成员变量初始化
3.子类有参构造方法,又会隐式的调用父类的无参构造方法
4.初始化自己的成员变量
5.执行自己的有参构造方法
阅读全文
0 0
- java基础第七天总结 继承
- Day07第七天java基础----------继承
- Java 基础 第七天
- JAVA基础第七天
- java基础第七天
- Java总结第七天
- 黑马程序员-Java基础学习第七天总结
- java学习第七天之继承
- 黑马程序员_java第七天基础总结
- JAVA基础第七天学习日记_继承、重写、final关键字、抽象、接口
- 传智博客JAVA基础第七天
- Java基础---第七天 面向对象
- Java基础班第七天笔记
- java基础———第七天
- java基础第七天——String
- JAVAWEB第七天java基础加强
- java学习总结——第七天
- java面向对象3继承_第七天
- HDOJ2084 数塔(DP)
- idea报Error Compilation failed
- 【日渐成熟的无线监控】大面积公共场所安防监控
- 网易机器学习笔试题
- MyBatis Generator generatorConfig.xml配置详解
- java基础第七天总结 继承
- 关于“微软停止信任沃通WoSign新证书”的说明
- 超有价值的xml简介
- pthread_kill 与pthread_cancel使用方法
- 微信小程序多张图片上传
- HDU 4549 M斐波那契数列 (费马小定理+矩阵快速幂)
- C++智能指针(三):weak_ptr--解决shared_ptr循环引用问题
- Java基础语法
- SSH整合开发之配置文件