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

公司企业建设网站百度竞价排名查询

公司企业建设网站,百度竞价排名查询,西安企业建站公司,接私活做预算的网站方法重载 为什么需要方法重载 在使用方法的过程中我们可能会遇到以下如同例子的情形: ​ ​ public class method1 {public static void main(String[] args) {int a1 10;int b1 20;double ret1 add(a1, b1);System.out.println("ret1 " ret1);do…

方法重载

为什么需要方法重载

在使用方法的过程中我们可能会遇到以下如同例子的情形:

​
​
public class method1 {public static void main(String[] args) {int a1 = 10;int b1 = 20;double ret1 = add(a1, b1);System.out.println("ret1 = " + ret1);double a2 = 10.0;double b2 = 20.0;int ret2 = add(a2, b2);System.out.println("ret2 = " + ret2);}public static int add(int x, int y) {return x + y;}
}​​

在计算ret1时我们可以很容易得到结果,但在计算ret2时由于double转换到参数的int会有损失而报错,这里我们一般是再另外写一个方法,然后给两个方法起不同的名字:

public class method2 {public static void main(String[] args) {int a1 = 10;int b1 = 20;int ret1 = addInt(a1, b1);System.out.println("ret1 = " + ret1);double a2 = 10.0;double b2 = 20.0;double ret2 = addDouble(a2, b2);System.out.println("ret2 = " + ret2);}public static int addInt(int x, int y) {return x + y;}public static double addDouble(double x, double y) {return x + y;}
}​

这样做我们说确实能解决问题,但不友好的地方是:我们需要提供不同的方法名,如果方法一旦变多,给方法起名字显得非常地木乱,那是否能将这里所有表示相加的方法都命名为add呢?可以,这就涉及到了java的方法重载。

方法重载的概念

在自然语言中,一个词语如果有多重含义(就类似文言文的一词多义),那么就是说该词语被重载了,具体代表什么含义需要结合具体的场景。

在Java中如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了。

举个栗子:

public class method3 {public static void main(String[] args) {add(2,3);add(2,3,4);add(2.0, 3.0);}public static int add(int x, int y) {return x + y;}public static int add(int x, int y, int z) {return x + y + z;}public static double add(double x, double y) {return x + y;}
}

注意:1.方法名必须相同

           2.参数列表必须不同(参数的个数不同,参数的类型不同,参数的顺序不同)。

           3.与方法的返回类型无关(仅仅因为返回类型不同是无法构成重载的

           4.无需关心怎么选择调用哪个方法,编译器在编译的时候,会对实参进行推演,根据推演的结果来确定调用哪个方法。

方法签名

在同一个作用域中不能定义两个名字相同的变量,但为什么在同一个类中,能够使用相同名字的方法呢?这就用到了方法签名。

方法签名即:经过编译器修改过之后得到最终的名字。具体方式:方法路径名+参数列表+返回值类型,构成方法完整的名字。

如何查看呢?还是以上面的代码为例:

public class method3 {public static void main(String[] args) {add(2,3);add(2,3,4);add(2.0, 3.0);}public static int add(int x, int y) {return x + y;}public static int add(int x, int y, int z) {return x + y + z;}public static double add(double x, double y) {return x + y;}
}

上述代码经过编译之后,然后使用JDK自带的javap反汇编工具查看,具体操作(可用cmd窗口):

1.先对工程进行编译生成.class字节码文件。

2.在控制台中进入到要查看的.class所在的目录

3.输入javap -v 字节码文件名字即可。

http://www.sczhlp.com/news/73452/

相关文章:

  • 南京制作网站购物网站建设优势
  • 百度生成在线网站地图开发小网站一般多少钱一个
  • 免费的站外推广wordpress 用户提交
  • Template-system 之 增强远程加载组件的稳定性
  • 平台门户网站建设兰州网络推广服务合同
  • 宣城网站建设 有限公司手机网站建设分析
  • 如何建立一个视频网站百度网盟推广怎么做
  • win2008怎么做网站网页设计与网站建设 作业
  • 企业网站开发 语言 收录融资网站建设方案
  • 绍兴建设企业网站做网站多少钱西宁君博美评
  • 做网站是用什么语言升学历的正规机构官网
  • 工程建设定额云南效果好的网站优化
  • 兰州中川国际机场电话贵阳百度快照优化排名
  • 南通网站建设知识wordpress 移动端 接口
  • 长春网站排名推广个人购物网站建设
  • 上海电子通科技网站建设西海岸新区城市建设局网站
  • 网站建设服务网络服务外贸零售平台
  • 沈阳网站建设与开发大兴安岭网站建设
  • 中型网站网站开发 介绍 回扣
  • 男男做爰视频网站建设网站需要多少费用
  • 厦门专业建站系统制作公司word发布到wordpress
  • 搜索引擎的网站有哪些企业oa系统是什么
  • 科技广告公司网站模板建设一个网站可以放视频的多少钱
  • 发布课程的网站模板农村做网站赚钱
  • iis html网站微信怎么做小程序的
  • 重庆网站维护公司网页模板源码
  • ps做网站logo尺寸做封面怎么把网站加上去
  • 网站开发最好代理公司经营范围
  • 做网站分类模块的设计思路asp.net个人网站
  • 深圳网站制作公司流程电子商务网站建设与维护期末答案