网站首页 > java教程 正文
在现实中,继承一般是指晚辈从父辈那里继承财产,也可以说是子女拥有父母所给予他们的东西。在面向对象程序设计中,也有继承。继承是面向对象编程的基石之一,因为通过继承可以创建层次化分类。使用继承可以创建一系列相关对象定义共同特征的一般类,然后其他类(更特殊的类)可以继承这个一般类,进行继承的每个类,除了有了被继承类中的成员变量与成员方法外,都可以添加各自特有的内容。被继承的类叫超类,进行继承的类称为子类。所以,子类是超类的特殊化版本。
接下来,就说说继承的知识。
为了继承类,只需要简单的使用extends关键字将类的定义集成到另外一个类中,下面的简单例子就用到了继承:
定义类A:
定义类B继承类A:
下面是测试的结果 :
可以看出,子类B包含超类A的所有成员。所以subB能够访问 i 和 j,并且可以调用showIJ()方法。而且,在sum()方法中,可以直接引用 i 和 j ,就像它们是类B的一部分。
注意:尽管子类包含超类的所有成员,但是子类不能访问超类中被声明为私有的那些成员。
下面是一个具体的例子:
超类变量可以引用子类对象:
使用super关键字:
使用super调用超类的构造函数:
子类可以通过使用下面的super形式,调用超类定义的构造函数:
super(arg-list);
super的另种用法:
方法重写:
类B中的show()版本采用一个字符串参数,这使得签名和类A中的show()方法不同,类A中的show()方法没有参数。所以,不人发生重写(或名称隐藏)。反而,类B中的show()版本重载了类A中的show()版本。
动态方法调度:
Object类:
今天,就先写到这了!谢谢大家浏览,有什么错误的地方欢迎大家指正!谢谢
猜你喜欢
- 2024-11-11 「菜鸟入门」正确的入手方式——IT入门规划
- 2024-11-11 Mac M1 使用CLI连接Taos数据库的服务启动相关问题解决
- 2024-11-11 从零基础到拿到网易Java实习offer,我做对了哪些事
- 2024-11-11 关于java的jvm的基础知识分享 让菜鸟对jvm不再陌生
- 2024-11-11 2022正确的java学习顺序(文末送java福利)
- 2024-11-11 Java 从入门到放弃(一):数据类型(java数据类型有几种)
- 2024-11-11 从零打造IT知识体系-Java基础-02基本数据类型与算法上
- 2024-11-11 有一本零基础自学Java的书出版啦,170个实例教学从入门到精通
- 2024-11-11 JAVA小白必学的代码编程技巧(java小白必学的代码编程技巧是什么)
- 2024-11-11 Java基础知识——第三天(java第三章答案)
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)