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

网站制作工资/网络优化工程师前景

网站制作工资,网络优化工程师前景,化妆品公司的网站建设的利益分析,网站公司策划书很多时候,某个java类中有多个类似的方法。如Math类中,计算绝对值的方 法就会有多个,因为对不同数据类型的数计算方式不同。比如对float,int, long,double各类型的计算方式各不相同,那么Math类中…

很多时候,某个java类中有多个类似的方法。如Math类中,计算绝对值的方 法就会有多个,因为对不同数据类型的数计算方式不同。比如对float,int, long,double各类型的计算方式各不相同,那么Math类中就应该设计4个求绝对 值的方法,分别对每种类型进行计算。

cb1a98b3678f53ee60121b5a2cc46263.png

在这种情况下,最好的方式就是设计4个 同名,但是不同参的方法,如下所示(请参见API帮助文档):

abs(double a)

Returns the absolute value of a double value.

abs(float a)

Returns the absolute value of a float value.

abs(int a)

Returns the absolute value of an int value.

abs(long a)

Returns the absolute value of a long value.

这就是方法重载,英文为overloading。方法重载的定义为:在一个Java类中 ,多个同名,但是不同参的方法,称为方法重载。方法重载主要能提高代码的可 读性,对方法的使用者提供便利。

说到方法重载,还有一个特别容易混淆的概念就是方法覆盖,也称为方法重 写,英文为overridding。方法覆盖是在继承时才有的概念。先从代码入手。

如父类Employee中有如下方法:

public void setSalary(double salary,double rate) {

this.salary = salary*(1+rate);

}

假设Employee的子类Sales中,也有该业务逻辑,只不过实现方式有些不同。 假设实现方式如下:

this.salary = salary*(1+2*rate);

这种时候,就可以在子类Sales中,定义一个与父类同名同参的方法:

public void setSalary(double salary,double rate) {

this.salary = salary*(1+2*rate);

}

这就是方法覆盖。即子类中拥有一个与父类同名同参同返回值,但是方法体 的逻辑有些区别的方法,我们就称为子类覆盖了父类某个方法。覆盖父类方法后 ,如下调用:

Sales s=new Sales();

s.setSalary(6000,0.1);

此时调用的是子类的setSalary方法,也就是说,子类Sales的对象,再也调 用不到Employee中的setSalary(double,double)方法,因为这个方法已经被 Sales重写成自己的setSalary(double,double)了。

初学者看到这个定义,往往有一个疑问。既然Sales类的setSalary方法的逻 辑有所不同,那么为什么非要定义成与父类同名的方法,不能重新命名么?如:

public void setSalesSalary(double salary,double rate) {

this.salary = salary*(1+2*rate);

}

如果这样定义,一样能够完成新的逻辑。那么方法覆盖有意义么?

假设我们在Sales中定义了setSalesSalary方法,那么Sales中还拥有 Employee的setSalary方法:

public void setSalary(double salary,double rate) {

this.salary = salary*(1+rate);

}

这样以来,就导致Sales类中拥有一个Sales对象不该具有的行为,这是大错 特错的。

方法覆盖的概念总结如下:

1、子类中的方法与父类的方法同名、同参、同返回值

2、子类的方法的访问权限不能缩小,只能等同或者扩大

3、子类的方法不能抛出比父类方法更多的异常类型(异常处理会在以后文章 中讲解)

方法重载,方法覆盖是两个容易混淆的概念,其实是完全没有关联的。重载 指的是一个类中,多个同名不同参的方法,而覆盖是在父类与子类中存在的概念 。

http://www.lbrq.cn/news/1437985.html

相关文章:

  • 深圳营销外贸网站制作/百度用户服务中心人工24小时电话
  • 网站 模板/高清视频线和音频线的接口类型
  • 花20亿做网站/淘宝关键词指数
  • 比较著名的网站用javaweb做的/百度新闻发布平台
  • 深圳华强北做网站/竞猜世界杯
  • 洛阳便宜网站建设报价/阿里巴巴官网首页
  • 没有固定ip做网站/网站排名优化工具
  • 把网站做成手机版/国外免费推广网站有哪些
  • 国家企业信用平台官网/在线seo优化工具
  • 全球设计网分站/网络app推广是什么工作
  • 网站建设和推广的完整话术/怎么推广软件
  • 珠海网站建设小程序/河南网站推广多少钱
  • 重视党建网站建设/东莞最新疫情
  • 网站读取错误时怎样做/微信投放广告多少钱
  • 美国空间怎么提高网站速度/阿里指数查询官网入口
  • 长沙做网站的/网络营销的目的是什么
  • html5网站正在建设中模板下载/朋友圈广告投放平台
  • 商用营销型网站建设/品牌推广的意义
  • 如何给国外网站做seo/外链网站推荐几个
  • 最便宜的外贸网站建设/舟山seo
  • 网站点击滚动图片代码/市场营销策划案例经典大全
  • 网站怎么做虚拟连接/小广告清理
  • 如何知道网站的字体/关键词优化是怎样收费的
  • 系统开发北京网站建设/互联网营销软件
  • 东莞设计兼职网站建设/十堰seo优化
  • 制作系部网站首页/百度知道灰色词代发收录
  • wordpress retina/廊坊seo排名
  • 封面新闻是国家级媒体/重庆排名优化整站优化
  • b2b电子商务模式的网站/网站推广软件费用是多少
  • 免费只做网站/网络营销的内容有哪些方面
  • 带root权限_贝尔RG020ET-CA融合终端S905L处理器当贝纯净版刷机教程
  • Java 设计模式-组合模式
  • XCTF-warmup详细题解(含思考过程)
  • 【C#】利用数组实现大数数据结构
  • ZKmall开源商城的容灾之道:多地域部署与故障切换如何守护电商系统
  • 启保停-----------单相照明灯的接法