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. Week03-Java学习笔记第三次作业

    Week03-面向对象入门 1.本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识点组织起来.请使用工具画出本周学习到的知识点及知识点之间的联系. ...

  2. 剑指offer--33.丑数

    本来用数组做标志位,但是测试数据有第1500个,859963392,惹不起哦 ------------------------------------------------------------- ...

  3. [Git]Git指南一 查看创建删除标签

    1. 查看标签 列出现有标签,使用如下命令: xiaosi@yoona:~/code/learningnotes$ git tag r-000000-000000-cm.cm v1.0.0 v1.0. ...

  4. Near Field Communication (NFC) applications

    Near Field Communication (NFC) applications There has been little practical guidance available on NF ...

  5. 使用pdfcrack破解PDF密码(Linux)

    pdfcrack是破解PDF保护密码的Linux命令行工具. 安装pdfcrack Debian系列: # apt install pdfcrack 暴力破解 # pdfcrack -f filena ...

  6. 本站上线KMS服务~一句命令激活windows和office

    服务器地址:kms.luody.info 更新: 脚本维护更新:2016-09-29 服务端版本:vlmcsd-1108-2017-01-19-Hotbird64 服务作用:在线激活windows和o ...

  7. fedora to ubunto

    Fedora to Ubuntu16.04 一.删除Fedora 由于双系统启动的时候是由linux系统做引导启动,所以在Windows下直接格式化Linux分区将导致无法启动Windows.解决办法 ...

  8. MYSQL 重新设置自增值

    说明:当一张有auto_increment主键的表中存有10条数据,现删除5-10条数据, 再insert数据的时候auto_increment将从11开始. 现在我们改变它设为从6开始. ALTER ...

  9. POJ1287 Networking

    解题思路:Kruskal模板题,重复输入的情况,本题是无向图. 见代码: #include<cstdio> #include<algorithm> #include<cs ...

  10. 9.9 Python 文档字符串

    9.9 Python 文档字符串. 进入 Python 标准库所在的目录. 检查每个 .py 文件看是否有__doc__ 字符串, 如果有, 对其格式进行适当的整理归类. 你的程序执行完毕后, 应该会 ...