重载和覆盖是JAVA多态性的不同表现方式,其中重载是在一个类中多态性的一种表现,是指在一个类中定义了多个同名的方法,他们或有不同参数个数或有不同参数类型。

在使用重载时需注意以下几点:

1)重载是通过参数来区分的,例如不同的参数个数,不同的参数类型。

2)不能通过方法的访问权限、返回类型和抛出异常类型来进行方法重载。

覆盖是指派生类函数覆盖基类函数。覆盖一个方法并对其重写,以达到不同的作用。在使用覆盖时要注意以下几点:

1)派生类中覆盖函数的必须要和基类中被覆盖的方法有相同的方法名和参数。

2)派生类方法的返回值必须和基类中被覆盖方法的返回值相同。

3)派生类中的覆盖方法所抛的异常必须和基类中被覆盖的方法所抛出的异常一致。

4)基类中被覆盖的方法不能为private,否则其子类只是定义了了一个方法,并没有对其覆盖。

覆盖和重载的主要区别是覆盖是子类与父类之间的关系,是垂直关系;重载是一个类中方法之间的关系,是水平关系。最后留一道题:

class Super{

public int f(){

return 1;

}

public class SubClass extends{

public float f(){

return 2f;

}

public static void main(String[] args){

Super s = new SubClass();

System.out.print(s.f());

}

}

问:以上代码的运行结果是什么?

java重载_Java的重载与覆盖,傻傻分不清!相关推荐

  1. java 面向对象 重载_Java方法重载

    在同一类中具有多个具有相同名称的方法称为方法重载.类中具有相同名称的方法可以是声明的方法,继承的方法或两者的组合. 重载方法必须具有不同数量的参数,不同类型的参数或两者.方法的返回类型,访问级别和th ...

  2. java final 方法重载_java方法重载和覆写的定义,static和final修饰符的讲解,java面试题...

    方法重载的规则: 1.必须发生在同一个类的下面 2.必须保证方法名字相同 3.参数列表不同 参数的类型不同 参数的个数不同 参数的顺序不同 4.返回值:和返回值无关 5.修饰符:和修饰符无关 6.抛出 ...

  3. Java如何调用方法的重载_java方法重载时的调用选择

    重载:方法名相同,参数列表不同:参数列表包括参数的个数,类型,不包括参数的返回值,抛出的异常等. 对于方法重载时具体调用的选择,往往不是很清晰,看代码: public class TestOverlo ...

  4. 国防大学计算机学院,国防大学和国防科技大学是同一所学校吗?很多人傻傻都分不清!...

    国防大学和国防科技大学,这两所大学名字相近,极易混淆,在很多网站搜索"国防大学录取分数线",出来的全是国防科技大学的的高考录取分数线,所以给广大考生带来了很大困惑,难道国防大学和国 ...

  5. Java知多少(29)覆盖和重载

    在类继承中,子类可以修改从父类继承来的方法,也就是说子类能创建一个与父类方法有不同功能的方法,但具有相同的名称.返回值类型.参数列表. 如果在新类中定义一个方法,其名称.返回值类型和参数列表正好与父类 ...

  6. java中的重写与重载_java中的重写与重载

    1.重写 重写(Override)是父类与子类之间的多态性,实质是对父类的函数进行重新定义,如果在子类中定义某方法与其父类有相同的名称和参数则该方法被重写,不过子类函数的访问修饰权限不能小于父类的:若 ...

  7. java构造方法重载_Java 重载、重写、构造函数的实例详解

    Java 重载.重写.构造函数的实例详解 方法重写 1.重写只能出现在继承关系之中.当一个类继承它的父类方法时,都有机会重写该父类的方法.一个特例是父类的方法被标识为final.重写的主要优点是能够定 ...

  8. java 能重写构成函数_java函数重载和函数重写

    java中,函数重载(overload)和 函数重写(override)是完全不同的两个概念,而这没有任何关系(除了名字有点像) 函数重载(overload): 1.针对同一个类中的一组函数来说的: ...

  9. java 非法重载_JAVA中重写和重载区别

    重写和重载区别 重写方法的规则如下: 参数列表:必须与被重写方法的参数列表完全匹配. 返回类型:必须与超类中被重写的方法中声明的返回类型或子类型完全相同 访问级别:一定不能比被重写方法强,可以比被重写 ...

最新文章

  1. 基于Nginx的LVS配置 提出curl 虚拟IP无响应解决办法!
  2. problem h: 一年中的第几天_一年级语文26个汉语拼音字母表读法+写法+笔顺,给孩子收藏!...
  3. ASLR in optee
  4. Linux下VSFTP配置全攻略
  5. SAP Spartacus 的 cx-page-layout selector 介绍 - PageLayoutComponent
  6. traceping是什么意思_trace命令是什么意思?
  7. LeetCode:位运算实现加法
  8. ABP入门系列(18)—— 使用领域服务
  9. Linux C线程同步的三种方法
  10. 查看提交历史(git log)
  11. shell初学之PHP
  12. 解包操作符 python_用解包操作符 * 解包列表
  13. 2021 年最佳开源软件榜单
  14. 《穿越计算机的迷雾》读书笔记一
  15. InVEST实践与进阶及在生态系统服务供需、固碳、城市热岛、论文写作等实际项目中的具体应用
  16. GPS 经纬度换算方法和定位误差计算
  17. Xshell_4.0绿色版
  18. ubuntu10.10下smbd服务配置——实现主机WinXP与虚拟机Ubuntu10.10共享
  19. 微信小程序地图实现标记多个位置
  20. 我国20年农药年施用量增百万吨 生产方式需反思

热门文章

  1. 在物体检测任务上进行预训练的实验分析
  2. Java软件开发:自定义MyBatis持久层框架
  3. pandas中to_csv()和read_csv()参数详解
  4. hutool中的threadutil_Hutool - 好用的Java工具类库
  5. 【Java代码】道格拉斯-普克 Douglas-Peucker 抽稀算法分析及15w个坐标点抽稀到3.7w耗时从360s+优化到365ms接近1000倍的速度提升源码分享(并行流+多线程+泛型)
  6. mysql安装后创建,Mysql安装创建删除
  7. 儿童手表怎么删除联系人_儿童节来了,送孩子400多元的超值礼物,儿童手表9X评测分享...
  8. linux declare大小写,关于linux:将用户输入转换为大写
  9. BugKuCTF 杂项 闪的好快
  10. delphi和 java通过socket通信的中文问题