Java面向对象-方法的重载

所谓方法的重载,

类里面有两个或者多个重名的方法,但是方法的参数个数、类型、顺序至少有一个不一样,这时候局构成方法重载;

上代码:

 package com.java1234.chap03.sec03;

 public class Demo01 {

     int add(int a,int b){
System.out.println("方法一");
return a+b;
} /**
* 方法的重载,参数个数不一样
* @param a
* @param b
* @param c
* @return
*/
int add(int a,int b,int c){
System.out.println("方法二");
return a+b+c;
} /**
* 方法的重载,参数的类型不一样
* @param a
* @param b
* @return
*/
int add(int a,String b){
System.out.println("方法三");
return a+Integer.parseInt(b);
} /**
* 参数类型个数一样,返回值类型不一样 不算重载,直接会报错,说方法重名
* @param args
*/
/*long add(int a,int b){
return a+b;
}*/ public static void main(String[] args) {
Demo01 demo=new Demo01();
System.out.println(demo.add(1, 2));
System.out.println(demo.add(1, 2,3));
System.out.println(demo.add(1, "3"));
}
}

运行结果:

方法一
3
方法二
6
方法三
4

这里有个注意点 假如参数个数和类型一样,返回值不一样,不能算重载,直接是编译出错,编译器认为是方法重复了。

具体原因:我们给下实例代码:

 package com.java1234.chap03.sec03;

 public class Demo01 {

     int add(int a,int b){
System.out.println("方法一");
return a+b;
} /**
* 参数类型个数一样,返回值类型不一样 不算重载,直接会报错,说方法重名
* @param args
*/
long add(int a,int b){
return a+b;
} public static void main(String[] args) {
Demo01 demo=new Demo01();
int m=demo.add(1, 2); // 调用返回值是int类型的方法
long n=demo.add(1, 2); // 调用返回值是long类型的方法 demo.add(1, 2); // 假如这样些 编译器晕了,你TM是调用返回值是int类型还是long类型的方法 }
}

假如调用方法 指定返回值类型,我们可以确定是调用的是某个方法,比如int m=demo.add(1,2) 因为是返回值m是int类型 那肯定

调用的是int add(int a,int b){ 方法  long n=demo.add(1, 2) 因为返回值n是long类型,那肯定调用的long add(int a,int b){方法

但是,假如直接 demo.add(1,2); 编译器就SB了,你TM是调用返回值是int类型的方法,还是返回值是long类型的方法;

Java面向对象-方法的重载的更多相关文章

  1. 面向对象方法的重载(overloading)和覆盖(overriding)

    面向对象方法的重载(overloading)和覆盖(overriding). 在有些JAVA书籍中将overriding称为重载,overloading称为过载. Overloading在一个类中可以 ...

  2. Java中方法的重载

    Java 中方法的重载 问: 什么是方法的重载呢? 答: 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方 ...

  3. Java面向对象-方法的值传递和引用传递

    Java面向对象-方法的值传递和引用传递 0 发布时间:『 2016-08-21 14:21』  博客类别:Java核心基础  阅读(197) 评论(0) Java面向对象-方法的值传递和引用传递 方 ...

  4. Java学习笔记十二:Java中方法的重载

    Java中方法的重载 什么是方法的重载呢? 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方法名称都为 s ...

  5. java中方法的重载和覆盖

    java中方法的重载和覆盖 先来了解一下这两个名词的含义. 重载: 在一个类当中才可以重载,方法名相同,参数个数不同或参数个数相同而参数类型不同. 覆盖: 又称重写,在派生类(子类)中重写基类(父类) ...

  6. Java面向对象---方法的创建与重载

    方法的创建 方法就是可重复调用的代码段. 定义: 访问修饰符 返回值类型 方法名(参数){ 方法主体 } 返回值类型:void(无返回值):基本数据类型:应用数据类型:类对象等. 方法名的命名规则:第 ...

  7. Java 中方法的重载

    问: 什么是方法的重载呢? 答: 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方法名称都为 show , ...

  8. 【Java】方法的重载与重写

    一.方法的重载 1.概念 方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数. 调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方 ...

  9. Java面向对象-方法的定义及简单使用

    Java面向对象之方法 方法是对象的一部分,也称为行为: 先来一个简单实例: package com.java1234.chap03.sec03; public class Person { void ...

随机推荐

  1. 用fail2ban阻止ssh暴力破解root密码

    安装fail2ban工具来实现防暴力破解,防止恶意攻击,锁定恶意攻击IP. 1.如果是centos系统,先yum安装fail2ban [root@VM_152_184_centos /]# yum - ...

  2. 【spark】示例:求极值

    我们有这样的数据 1.建立SparkContext读取数据 (1)建立sc (2)通过sc.textFile()读取数据创建Rdd 2.过滤数据 通过filter(line => line.tr ...

  3. Struts05---动态查询

    01.在上面案例的login.jsp页面新增 <%-- 2.动态方法的调用 前提是在 struts.xml文件中开启 不推荐! --%> <a href="user/use ...

  4. 简要谈谈javascript bind 方法

    最近去参加了场面试,跟面试官聊了很多JS基础上的东西,其中有个问题是谈谈对apply.call.bind的理解和区别.顿时一愣,apply.call我知道,经常用的东西,bind是什么鬼!!!好像见过 ...

  5. 微信小程序调微信支付

    今天写小程序的支付接口,参照的当然是微信支付API了.(结尾附上第二步全部代码php版) 另外,我也参照了简书上的这篇文章,浅显易懂:https://www.jianshu.com/p/72f5c1e ...

  6. [ASP.NET] 修改web站点的默认编程语言

    当你点右键新建web窗体或者新建类的时候,默认编程语言是什么?有时候是C#,有时候是VB. 你找遍了所有配置,从web.config到iis express配置到sln文件,硬是没找到vs如何决定编程 ...

  7. 推荐使用typora

    最近在网上接触到一款全新的markdown写作工具--typora. 现在它已经是我的主要写作工具了. 甚至我也也会利用它安排自己的工作和任务. typora介绍 下载链接 特色:可以即时渲染mark ...

  8. python学习之面向对象(下)

    该篇主要是针对面向对象的细讲,包括类的多重继承,方法的重写,析构函数,回收机制进行讲解 #该类主要是讲述python面象对象的一些特征,包括继承,方法的重写,多态,垃圾回收 class person( ...

  9. Jam的计数法

    Jam的计数法 题目描述 Description Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数 ...

  10. 【转】学习使用Jmeter做压力测试(三)--数据库测试

    JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本.根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测 ...