java继承

Posted on   liuxin6de1b  阅读(15)  评论(0编辑  收藏  举报

1.为什么要使用继承

多类之间拥有相同的属性或是方法;解决方式是将相同的属性和方法抽取出来封装到一个新的类中,并继承新的类。

2.继承语法

A extends B

如果A extends B 得出结论;A是B的子类;B是A的父类

java中一个类只能继承一个父类(单继承关系)

继承的关键字是extends

3.super

super调用父类的成员

规范:

super只能出现在子类的方法和构造中

super调用构造方法是,只能是第一句

super不能访问父类的private成员

name=super.name;调用属性

super();调用方法

super(a);调用有参方法

修饰符:

private 默认 protected public

(1)private 默认 protected public修饰的属性都可以在本类(class)中访问

(2)在同包不同类的情况下private(封装中的隐藏修饰符)修饰的属性不可以被访问,其余三者可以访问。

(3)在不同包但属于父子类关系的情况下;private,默认修饰的属性不能访问,其他两个可以访问。

(4)在不同包也不属于父子类关系,只有public修饰的属性可以访问

继承初始化顺序

父类属性初始化》父类的构造器(方法)初始化》子类的属性初始化》子类的构造器(方法)初始化

子类的构造器中默认有一个调用父类构造器的super();

重写:

规范

方法名相同;

参数列表相同;

返回值类型相同或者是其子类;

访问权限不能严于父类;

方法重载和方法重写的区别:

                位置   方法名    参数表     返回值                     访问修饰符

 方法重写 子类     相同       相同        相同或是其子类     不能严于父类

 方法重载 同类     相同       不相同     无关                       无关

构造方法不能被重写

抽象:

抽象类的关键字是abstract

抽象类的特点是不能实例化

抽象方法的特点没有方法体

抽象类中可以有非抽象方法

抽象方法:

1.抽象方法没有方法体

public abstract void eat();

2.抽象方法必须在抽象类里

public abstract class Demo{}

3.抽象方法必须在子类中实现,除非子类是抽象

final :

修饰类;特点:不能被继承

修饰方法;特点:不能被重写

修饰属性;特点:不能被二次赋值

相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决

随笔 - 44, 文章 - 0, 评论 - 0, 阅读 - 1617

Copyright © 2025 liuxin6de1b
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示