Java中,overload与override的区别
Java的overload(重载)与override(重写,覆盖)的区别
一,overload(重载)
1,overload(重载)表示同一个类中可以有多个名称相同的方法,但是这些方法的参数列表各不相同(即不同的参数类型,不同的参数个数,不同的参数顺序,)。overload可以改变返回值类型。
2,重载是一个类中多态性的一种表现。
例如:
public void m1(int x)
{ }public int m1(int x, int y)
{return x+y;
}public String m1(int x, int y,int z)
{return "abc";
}public String m1(int x, String str)
{return "chongzai2";
}
2,overload(重载的特点)
第一:不能通过访问权限,返回类型,抛出的异常进行重载;
第二:方法的异常类型和数目不会对重载造成影响的;
第三:对于继承来说,如果某一个方法在父类中的修饰符是private,那么就不能在子类对其进行重载了。如果要定义的话,也只是定义了一个新方法。
二,override(覆盖,重写)
1,override(重写)是父类与子类之间多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写了。子类的对象(实例)使用了这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被屏蔽了。
2,override(重写)的程序:
import java.util.*;
class A{ //父类public int getVal(){return 5;}
}class B extends A{ //通过子类对父类抽象方法的覆盖来实现多态,public int getVal(){return 10;}
}public class Test3{public static void main(String []args){B b=new B(); //通过子类创建的实例对象,调用A te=(A)b;int x=b.getVal();//调用这个方法,将调用子类中的定义方法。System.out.println(x);}
}
返回的结果为: 10
3,override(重写)的特点:
第一:覆盖的方法的返回值必须和被覆盖的方法返回一致;
第二:覆盖的方法抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类。
第三:被覆盖的方法不能被定义为private。否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
Java中,overload与override的区别相关推荐
- java中overload与override的区别
1.综述 重写(Override)也称覆盖,它是父类与子类之间多态性的一种表现,而重载(Overload)是一个类中多态性的一种表现. override从字面就可以知道,它是覆盖了一个方法并且对其重 ...
- Java学习-Overload和Override的区别
1.Overload是重载的意思,Override是覆盖的意思,也就是重写. 2.重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同). 3 ...
- Java中重载和复写的区别
Java中重载和复写的区别 重载(overload) 复写(override) 区别和联系 重载(overload) 函数重载的最突出的例子就是类的构造函数,用户定义一个对象时可能会提供多种参数组合: ...
- 类的 三大特性 封装,继承,多态 overload与override的区别
OOP三大特性:封装,继承,多态 封装的目的:为了让类更安全 封装的做法: 1.类里面的成员变量做为private 2.使用成员方法来间接访问成员变量 3.在该方法里面加限制条件 php类里面不允许出 ...
- Overload和Override的区别。
Overload和Override的区别. Overloaded的方法是否可以改变返回值的类型? Overload是重载的意思,Override是覆盖的意思,也就是重写. 重载Overload表示同一 ...
- Overload 和Override 的区别。Overloaded 的方法是否可以改变返回值
Overload 和Override 的区别.Overloaded 的方法是否可以改变返回值的类型? Overload 是重载的意思,Override 是覆盖的意思,也就是重写. 重载Overload ...
- Overload和Override的区别说明
下文笔者讲述Overload和Override的区别简介说明,如下所示: Overload:重载Override:覆盖(重写)------------------------------------- ...
- JAVA中重写和实现的区别_Java中重载和重写的区别
Java中重载和重写的区别 1.1重载是什么 Overloading 方法重载是让类以统一的方式处理不同类型数据的一种手段,多个同名函数同时存在,具有不同的参数个数/类型 1.2为什么用重载 重载 ...
- java中的异常种类和区别以及处理机制和区别
java中的异常种类和区别以及处理机制和区别 按照异常需要处理的时机分为编译时异常(也叫强制性异常)也叫 CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeExce ...
- java中ArrayList和LinkedList的区别
首先来看ArrayList和LinkedList的集成类和接口的区别.// lang java public class ArrayList<E> extends AbstractList ...
最新文章
- java 字符串写入word,JAVA 将字符串hollow 替换成word肿么实现?
- 电脑技术吧_极简技术|快速整理电脑桌面繁乱的图标
- 怎么样武直不打_打HPV疫苗期间意外怀孕?怎么办?
- 如何实现从wgs-84到beijing54的坐标转换
- Fragment生命周期及其使用
- mysql 事务 innodb 锁表_MySQL性能优化之Innodb事务系统,值得收藏
- python自动执行脚本
- python3携程多任务_python3之携程yield及greenlet
- 小米平板4/4plus手机屏幕驱动板使用步骤说明
- QTcpSocket使用发现的问题
- [转]二十四式太极拳攻防含义拆解
- Javascript DOM readyState 属性
- 最#全#的#海#淘#网#址#大#全
- 八百八十岁也没活明白
- 端到端的框架DeepInf
- k8s中将flannel网络切换calico网络
- macOS 使用 X11 运行远端 linux 中的 x11 client 图形程序
- 蜂鸣器播放音乐《好运来》^_^
- 一些实用的安卓UI设计工具
- XX集团工厂集成改造MES+SCADA数字化项目实施方案原创
热门文章
- python播放视频代码_python脚本抓取优酷在线视频地址代码
- Android webView 的一个坑,字体怎么突然变小了
- python 小于等于号不支持int string_为什么这个Python String的大小会在失败的int转换中发生变化...
- 多功能版系统微群人脉平台开发
- Ansible纸上谈兵02:常用模块
- 【仪器仪表专题】改装和拆解UT136A万用表
- mysql在k8s集群中的搭建并且实现持久化存储
- 《大话计算机》同款T恤,我要了!!
- vue-day3计算属性、监听器、过滤器、混入、插件、生命周期、网络请求、组件
- C2760语法错误:意外标记“标识符”,应为“;”