java继承

继承就是子类继承父类的特征和行为,使得子类对象具有父类的实例和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

代码角度:java中通过extend关键字来声明一个类是从另一个类继承而来的,子类可以继承父类的内容,子类所需的可以直接从父类中获得,要避免子类中重复定义。

现实角度:子类和父类之间的关系必须符合现实生活上的逻辑关系。

继承是可以形成体系的,和现实生活中的逻辑体系一致的

例如:

水杯->容器

碗->容器

java中也一样,有很多体系

Number体系-----------数字家族

lnteger

double

int

注意:子类不能选择性继承父类

java不支持多重继承,类与类之间只能是单继承关系,一个类可以实现多个接口,接口与接口之间是可以多重继承的,从而克服了单继承的缺点

构造方法不会被子类继承,但可以从子类中调用父类的构造方法

子父类中成员变量的特点:

类在创建对象时,成员变量会储存到堆内存中,并进行默认初始化

先是子类对象的成员变量进行创建并进行默认初始化

再对父类对象的成员变量进行创建并进行默认初始化储存在子类的super空间里

再然后子类对象调用子类的构造函数,子类构造函数进栈同时进行显示初始化(子类和父类的成员变量都进行显示初始化)

当子类想要调用父类的成员变量,子类对象会先去堆中找子类的成员变量,再去子类静态方法区里寻找静态变量,最后再去父类的成员变量找

当子类成员函数想要调用变量,会先寻找成员函数中的局部变量,再去找子类的成员变量,再去子类静态方法区找静态变量,最后再去父类的成员变量中找

子类要访问父类私有成员变量

子类可以继承父类的public成员,但不能继承父类的private成员的,如果要访问父类私有的成员变量,就必须通过调用父类提供者的公共接口进行访问

使用super关键字

使用关键字super调用父类中重写的方法

子类有,父类也有,子类就重写了父类中的某一个方法,

如果父类有,子类没有,则调用父类的;

如果父类没有,子类有,则调用子类的;

如果父类有,子类也有,则要重写,调用子类的

注意:

函数名必须一致

返回值类型必须保持一致

参数列表必须保持一致

子类的权限必须大于等于父类函数的权限

用关键字super调用父类有参/无参构造函数

当使用无参super()时,则调用父类的无参构造函数

当使用有参super()时,则调用父类的有参构造函数

注意:

如果要初始化父类中的字段,可以在子类的构造方法中通过关键字super调用父类的构造方法

对于父类构造函数的掉用,即使用关键字super,必须放在子类构造方法的第一行

如果父类的构造函数没有参数,子类则不需要使用关键字super调用父类构造函数,系统会自动调用子类的无参构造函数

如果父类的构造函数有参数,子类则必须用关键字suepr调用父类的构造函数

子类是不调用父类的构造函数的,他只是通过关键字super隐式调用

子父类中 静态成员的特点
静态变量的特点同成员变量
    父类有,子类无,调用父类的
    父类无 ,子类有 ,调用子类的
    父类有 ,子类有 ,调用子类的
静态函数的特点同静态变量
    父类有 ,子类无, 调用父类的
    父类无, 子类有, 调用子类的
    父类有 ,子类有, 调用子类的


    注意:静态函数不存在重写的问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值