当前位置: 首页 > news >正文

ADPR国际传媒网站建设吉林百度查关键词排名

ADPR国际传媒网站建设,吉林百度查关键词排名,网站域名的后缀,东莞网站建设信科目录 3.1 方法重写举例 Override使用说明: 3.2 方法重写的要求 3.3 小结:方法的重载与重写 (1)同一个类中 (2)父子类中 3.4 练习 父类的所有方法子类都会继承,但是当某个方法被继承到子类…

目录

3.1 方法重写举例

@Override使用说明:

3.2 方法重写的要求

3.3 小结:方法的重载与重写

(1)同一个类中

(2)父子类中

3.4 练习


父类的所有方法子类都会继承,但是当某个方法被继承到子类之后,子类觉得父类原来的实现不适合于自己当前的类,该怎么办呢?子类可以对从父类中继承来的方法进行改造,我们称为方法的重写 (override、overwrite)。也称为方法的重置覆盖

在程序执行时,子类的方法将覆盖父类的方法。

3.1 方法重写举例

比如新的手机增加来电显示头像的功能,代码如下:

package com.atguigu.inherited.method;public class Phone {public void sendMessage(){System.out.println("发短信");}public void call(){System.out.println("打电话");}public void showNum(){System.out.println("来电显示号码");}
}
package com.atguigu.inherited.method;//SmartPhone:智能手机
public class SmartPhone extends Phone{//重写父类的来电显示功能的方法@Overridepublic void showNum(){//来电显示姓名和图片功能System.out.println("显示来电姓名");System.out.println("显示头像");}//重写父类的通话功能的方法@Overridepublic void call() {System.out.println("语音通话 或 视频通话");}
}
package com.atguigu.inherited.method;public class TestOverride {public static void main(String[] args) {// 创建子类对象SmartPhone sp = new SmartPhone();// 调用父类继承而来的方法sp.call();// 调用子类重写的方法sp.showNum();}
}

@Override使用说明:

写在方法上面,用来检测是不是满足重写方法的要求。这个注解就算不写,只要满足要求,也是正确的方法覆盖重写。建议保留,这样编译器可以帮助我们检查格式,另外也可以让阅读源代码的程序员清晰的知道这是一个重写的方法。

3.2 方法重写的要求

  1. 子类重写的方法必须和父类被重写的方法具有相同的方法名称参数列表

  2. 子类重写的方法的返回值类型不能大于父类被重写的方法的返回值类型。(例如:Student < Person)。

注意:如果返回值类型是基本数据类型和void,那么必须是相同

  1. 子类重写的方法使用的访问权限不能小于父类被重写的方法的访问权限。(public > protected > 缺省 > private)

注意:① 父类私有方法不能重写 ② 跨包的父类缺省的方法也不能重写

  1. 子类方法抛出的异常不能大于父类被重写方法的异常

此外,子类与父类中同名同参数的方法必须同时声明为非static的(即为重写),或者同时声明为static的(不是重写)。因为static方法是属于类的,子类无法覆盖父类的方法。

3.3 小结:方法的重载与重写

方法的重载:方法名相同,形参列表不同。不看返回值类型。

方法的重写:见上面。

(1)同一个类中

package com.atguigu.inherited.method;public class TestOverload {public int max(int a, int b){return a > b ? a : b;}public double max(double a, double b){return a > b ? a : b;}public int max(int a, int b,int c){return max(max(a,b),c);}
}

(2)父子类中

package com.atguigu.inherited.method;public class TestOverloadOverride {public static void main(String[] args) {Son s = new Son();s.method(1);//只有一个形式的method方法Daughter d = new Daughter();d.method(1);d.method(1,2);//有两个形式的method方法}
}class Father{public void method(int i){System.out.println("Father.method");}
}
class Son extends Father{public void method(int i){//重写System.out.println("Son.method");}
}
class Daughter extends Father{public void method(int i,int j){//重载System.out.println("Daughter.method");}
}

3.4 练习

**练习1:**如果现在父类的一个方法定义成private访问权限,在子类中将此方法声明为default访问权限,那么这样还叫重写吗? (NO)

**练习2:**修改继承内容的练习2中定义的类Kids,在Kids中重新定义employeed()方法,覆盖父类ManKind中定义的employeed()方法,输出“Kids should study and no job.”

http://www.15wanjia.com/news/51562.html

相关文章:

  • 设计网官方网站找回今日头条
  • 个人网站建设与企业网站网店如何引流与推广
  • net域名做企业网站怎么样优化大师官网下载
  • 上虞网站建设文广网络关键词点击优化工具
  • wordpress 隐藏 后台合肥网站优化软件
  • 学设计的视频网站百度平台商家联系方式
  • 做网站被骗首付款怎么报案外贸网站模板
  • 怎么找人做网站啊快点tv下载安装
  • 百度推广 url主域名和注册网站不一致淘宝联盟怎么推广
  • 东营做网站优化凡科建站怎么建网站
  • 张家界官方网站百度热榜
  • 香港windows vps潜江seo
  • 网站建设协议书模板 完整版广东省人大常委会
  • 响应式网站需要的技术网络营销培训班
  • 如何做网站联盟营销什么广告推广最有效果
  • 深圳html5网站制作bt磁力搜索引擎索引
  • iis默认网站不能启动企业网站设计论文
  • 深圳网络优化网络优化培训骗局
  • 企业官方网站怎么建设雅思培训班价格一览表
  • 网站首页设计代码巨量数据分析入口
  • apache 网站建设营销网站建设方案
  • 做网站时如何给文字做超链接如何自己制作一个网站
  • 企业网站备案名称窍门网上全网推广
  • 做pc端网站哪家好seo公司推荐推广平台
  • 企业网站的好处自己怎么优化网站排名
  • 丹阳建站微博营销
  • 红河网络营销aso搜索优化
  • 电子手表网站重庆seo技术
  • 济南正规做网站公司史上最强大的搜索神器
  • H5响应式网站数据网络营销的渠道