使用super调用被子类覆盖的父类方法
2024-08-31 15:35:23
1.没有super方法
/*
* 子类方法覆盖父类方法,用super方法可以调用父类被覆盖的方法
*/ class fruit{
public fruit() {
System.out.println("fruit !");
}
public void name() {
System.out.println("我是水果!");
}
} class apple extends fruit{
public apple() {
System.out.println("apple !");
} public void name() {
//super.name();
System.out.println("我是苹果!");
}
} public class fugai { public static void main(String[] args) {
apple a=new apple();
a.name();
} }
运行结果:
fruit !
apple !
我是苹果!
2.有super调用父类方法
class fruit{
public fruit() {
System.out.println("fruit !");
}
public void name() {
System.out.println("我是水果!");
}
} class apple extends fruit{
public apple() {
System.out.println("apple !");
} public void name() {
super.name(); //调用父类被覆盖方法
System.out.println("我是苹果!");
}
} public class fugai { public static void main(String[] args) {
apple a=new apple();
a.name();
} }
运行结果如下:
fruit !
apple !
我是水果!
我是苹果!
父类的方法被调用
覆盖的规则
1.覆盖方法的允许范围不能小于原方法
2.覆盖方法所抛出的异常不能比原方法更多
3.声明为final方法不允许覆盖
4不能覆盖静态方法
最新文章
- WCF 已知类型和泛型解析程序 KnownType
- nmap使用教程
- C语言 栈 链式结构 实现
- 《redis-php中文参考手册》
- [LeetCode]Evaluate Reverse Polish Notation(逆波兰式的计算)
- 基于visual Studio2013解决算法导论之025双向循环链表
- python基础课程_学习笔记13:标准库:有些收藏夹——sys
- hibernate_@GeneratedValue
- sqlilabs 1-4
- Linux系统安装jdk教程
- Confluence 6 workbox 的位置
- 蓝牙Profile的概念和常见种类(转)
- 在UnrealEngine4中使用Google Protobuf
- tp5查看版本
- git第二节----git clone与git tag
- 【python】Python 资源大全中文版
- Conductor Server
- 20155201 2016-2017-2 《Java程序设计》第六周学习总结
- c#简单写售票系统
- 请简述以下两个for 循环的优缺点