java的方法覆盖与方法重载有什么异同_Java语言中方法重载与方法覆盖的异同

Program Design·程序设计 Java语言中方法重载与方法覆盖的异同 面向对 象编程有三大特性: 封装、继承、多态,本文主要谈 谈 其 中 之 一 多 态 的 两种 实现 方 式 一一 方法 重载 与 方 法覆盖 , 并 比较它们的异 同。 【关键词 l lava多 态 方 法重载 方 法覆盖 在 Java语 言 的学 习过 程 中 ,初 学者 经 常 分 不 清 重 载 与 覆 盖 , 实 际 上 ,方 法 重 载 (Overload)和方法覆盖 (Ove~ide,也叫重 写) 都是 Java多态性的体现,只是形式不同,在 此, 笔者 简单地 谈一谈两者的异同。 1方法重载与方法覆盖的特点 1.1方法重载的特点 Java语 言 中 的方法 重载 就 是在类 中可 以 创建多个方法 ,实 际上就 是一个 类中多态性的 一 种表现 ,也叫静态多态 。 如下面 的例子 : l class DBUtil{ 2 private String server=”127.0.0.1”:,/服 务器地 址 3 private String db=”HRDB”;//数据库名 称 4 public String getDBUrl(string server,String db){ll重 载方法 5 return”jdbc:sqlserver://”+serv er+”:1433;DatabaseNam e=”+db: 6 } 7 public String getDBUrl(String server){ //重载 方法 8 return getDBUrl(server,db); 9 } 10 public String getDBUrl0{II重 载方 法 I I return getDBUrl(server,db); 12 , 13 , 14 public class StaticPolymorphismDemo{ 1 5 public static void main(String args[]){ 16 DBUtil util=new DBUtil0; l7 //调用第 4行的方 法 18 Sys~m.out.println(util.getDBUrl(”192. 文/李娜 168.4.23”,”CXHR”)); l9 //调用第 7行 的方法 2 0 SY Stem .out.Printlnfutil. getDBUrl(”192.168.4.23”)); 21 //调用第 10行的方法 22 System.out.println(util.getDBUrl0); 23 , 24 , 方 法重 载 的主要 特 点有 以下几 点:第 一 个特点是方法名是相 同的:第 二个特 点是方法 的个数、顺序、参数类型至少 有一项是不相 同 的;第三个特点是方法 的返 回类型不一定要 是 相同的;第四个特点是方法的修饰符也可以是 不相同的。 1.2方法覆 盖的特点 Java语 言中 的方法 覆盖 是 指父类 中有 的 方法 ,在子类 中被重新定义 ,方法签 名一样 (方 法 名,参 数个数和参数类型都一样 )的情况 , 也 叫动态 多态 。 如下面 的例子 : public class Base{ public void method(){) } public class Sub extends Base{ public void method(){} ) 方法 覆盖 的特 点 主要 有 以下几 点:第 一 个特点是方法覆盖只存在于子类和父类之间, 在同一个类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值