重写(Override)与重载(Overload)的区别(面试题)
概念:重写(Override):是存在子父之间的关系,子类里定义的方法与父类里定义的方法具有相同的方法名以及相同的返回值和参数类型
重写规则:
1、方法名形参列表相同;
2、访问权限,子类大于等于父类;
3、返回值类型和声明异常类型子类小于父类;
实例:
1 public class OverrideDemo{
2 public static void main(String args[]){
3 Animal b = new Dog(); // Dog 对象
4 b.move(); //执行 Dog类的方法
5 }
6 }
7
8 class Animal{
9 public void move(){
10 System.out.println("动物可以移动");
11 }
12 }
13
14 class Dog extends Animal{
15 public void move(){
16 super.move(); // 应用super类的方法
17 System.out.println("小狗可以跑和走");
18 }
19 }
编译运行结果为:
动物可以移动
小狗可以跑和走
概念:重载(Overload):是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同
重载规定:
1、被重载的方法必须改变参数列表(参数个数或类型不一样);
2、被重载的方法可以改变返回类型;
3、被重载的方法可以改变访问修饰符;
4、被重载的方法可以声明新的或更广的检查异常;
5、方法能够在同一个类中或者在一个子类中被重载;
6、无法以返回值类型作为重载函数的区分标准;
实例:
1 public class OverloadDemo {
2 public int test(){
3 System.out.println("test1");
4 return 1;
5 }
6
7 public void test(int a){
8 System.out.println("test2");
9 }
10
11 //下面两个参数类型顺序不同
12 public String test(int a,String s){
13 System.out.println("test3");
14 return "returntest3";
15 }
16
17 public String test(String s,int a){
18 System.out.println("test4");
19 return "returntest4";
20 }
21
22 public static void main(String[] args){
23 OverloadDemo od = new OverloadDemo();
24 System.out.println(od.test());
25 od.test(1);
26 System.out.println(od.test(1,"test3"));
27 System.out.println(od.test("test4",1));
28 }
29 }
重写(Override)与重载(Overload)的区别(面试题)的更多相关文章
- C#中隐藏(new)、方法重写(override)、重载(overload)的区别
转自:http://www.cnblogs.com/glife/archive/2009/12/28/1633947.html 重载.重写和隐藏的定义: 重载:public string ToStri ...
- Java - 21 Java 重写(Override)与重载(Overload)
Java 重写(Override)与重载(Overload) 重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变.即外壳不变,核心重写! 重写的好 ...
- 20180813-Java 重写(Override)与重载(Overload)
Java 重写(Override)与重载(Overload) class Animal{ public void move(){ System.out.println("动物可以移动&quo ...
- 重写(Override)与重载(Overload)区别
重写是子类对父类的允许访问的方法的实现过程进行重新编写. 方法重写三要素: (1)方法名形参列表相同: (2)返回值类型和声明异常类型子类小于父类: (3)访问权限,子类大于等于父类. 重写的好处在于 ...
- Java 重写(Override)与重载(Overload)
1.重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变.即外壳不变,核心重写! 参数列表和返回值类型必须与被重写方法相同. 访问权限必须低于父类中 ...
- Java 读书笔记 (十七) Java 重写(Override)与重载(Overload)
重写(Override) 重写是子类对父类的允许访问的方法的实现过程重新编写,返回值和形参都不能改变,即外壳不变,核心重写. // 如果重写不是相当于重新定义了一个方法?那为什么不直接写,还要exte ...
- Java面向对象---重写(Override)与重载(Overload)
一.重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说 ...
- Java 学习(12):重写(Override)与重载(Overload) & 多态
目录 --- 重写 --- 重载 --- 多态 重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可 ...
- 重写(Override)与重载(Overload)
重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类 ...
随机推荐
- nginx 配置文件与日志模块
内容概要 Nginx 虚拟主机 基于多 IP 的方式 基于多端口的方式 基于多域名的方式 日志配置(日志格式详解) Nginx 访问控制模块(可以去 Nginx.org 文档 documentatio ...
- world.construct(me);
目录 0 引言 0.1 所谓构造题 0.2 重点是动机 (motivation) 1 实践出真知 1.1 「CSP-S 2021」「洛谷 P7915」回文 1.1.1 题目大意 1.1.2 解题过程 ...
- Solution -「LOJ #6029」「雅礼集训 2017」市场
\(\mathcal{Description}\) Link. 维护序列 \(\lang a_n\rang\),支持 \(q\) 次如下操作: 区间加法: 区间下取整除法: 区间求最小值: 区 ...
- linux 利用python模块实现格式化json
非json格式示例 {"name": "chen2ha", "where": {"country": "Chi ...
- JAVA8学习——新的时间日期API&Java8总结
JAVA8-时间日期API java8之前用过的时间日期类. Date Calendar SimpleDateFormat 有很多致命的问题. 1.没有时区概念 2.计算麻烦,实现困难 3.类是可变的 ...
- python中try...excpet多种使用方法
1 print('\n欢迎使用除法计算器!\n') 2 3 while True: 4 try: 5 x = input('请你输入被除数:') 6 y = input('请你输入除数:') 7 z ...
- 4.2 K8S超级完整安装配置
前言: 采坑 k8s有3种安装方式,如下所示: minikube:这是一个k8s集群模拟器,只有一个节点的集群,只为了测试使用,master和node都在一台机器上 直接使用带有容器功能的云平台安装: ...
- 异常篇—— VEH 与 SEH
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- web渗透绕过
////目录: 403 IP地址绕过与文件名绕过 登录框绕过 SQL注入绕过 文件上传绕过 RCE绕过 403 IP地址绕过与文件名绕过 X-Forwarded-For:127.0.0.1 X-For ...
- 由浅入深--ORM简介
一.ORM简介 从传统的JDBC开始说起 下面是通过JDBC连接Oracle的步骤,如下代码所示: Connection conn = null; PreparedStatement stmt = n ...