文档章节

1.什么是Java重载?

囧青年
 囧青年
发布于 2015/05/17 11:27
字数 581
阅读 9
收藏 0

重载定义:对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数、类型、顺序至少有一个不一样,这时候局构成方法重载。重载是类中多态性一种表现。


 列子1:   

 说明:当一个类中 出现两个同名方法时,方法中的参数类型相同,个数不同时,这时就构成了重载。

public class Main {

	public static void main(String[] args) {
		
	add(3,4);  //当传入的参数个数为两个时,jvm编译时会自动查找含有两个参数的add()方法;
	add(4, 5, 8);//当传入的参数个数为三个时,jvm编译时会自动查找含有两个参数的add()方法;
		
	}
	public static void add(int a,int b)
	{
    System.out.println(a+b);
	}
	private static  void add(int a,int b,int c)
	{	
	  System.out.println(a+b+c);
	
	}
}

 列子2:   

 说明:当一个类中 出现两个同名方法时,方法中的参数个数相同 ,类型不同时,这时也构成了重载。

public class Main {

	public static void main(String[] args) {
	add(5);    //当传入的值为int 类型时,jvm编译时会自动查找参数为int类型的add()方法
	add("c");  //当传入的值为String 类型时,jvm编译时会自动查找参数为Sting类型的add()方法

	}

	public static void add(int x) {
		System.out.println(x);
	}

	private static void add(String y) {

		System.out.println(y);

	}

}

 列子3:   

 说明:当一个类中 出现两个同名方法时,方法中的参数个数相同 ,当参数类型顺序不同时,这时也构成了重载。

public class Main {

	public static void main(String[] args) {
		add(5,"c"); //jvm编译时会自动查找参数类型与之一致的add()方法
		add("c",5);

	}

	public static void add(int x,String y) {
		System.out.println(x+y);
	}

	private static void add(String x,int y) {

		System.out.println(x+y);

	}

}

重载的作用:重载就是对不同数据类型的的数据实现相似的操作。即实现的功能相同。


重载与重写的区别:

重载是利用同名的函数,但传入不同个数或不同类型的参数,有不同的返回结果;
重写你可以理解为废除原先的方法,自己定义新的(当然可以通过super.xxx来把原先想保留的方法利用起来)



© 著作权归作者所有

囧青年
粉丝 0
博文 15
码字总数 5238
作品 0
浦东
程序员
私信 提问
04-《深度拆解JVM》之 JVM是如何执行方法调用的?(上)

一、问题引入 前不久在写代码的时候,郑雨迪老师不小心踩到一个可变长参数的坑。它就是由于可变长参数方法的重载造成的。(注:官方文档建议避免重载可变长参数方法,见 [1] 的最后一段。) ...

飞鱼说编程
2018/09/18
22
0
阿里巴巴菜鸟Java一面11个问题,你会几个呢?

近日,w3cschool app开发者头条上分享了阿里菜鸟Java程序员一些面试题。 这吸引了不少程序员小伙伴们的注意。 在分享阿里菜鸟Java程序员面经前,来看下Java面试一些面试经验分享: 0、Java高...

W3Cschool
2018/04/03
0
0
Java面试题:面向对象,类加载器,JDBC, Spring 基础概念

为什么说Java是一门平台无关语言? 平台无关实际的含义是“一次编写到处运行”。Java 能够做到是因为它的字节码(byte code)可以运行在任何操作系统上,与底层系统无关。 2. 为什么 Java 不...

Java干货分享
2018/12/17
62
0
10个经典的 Java main 方法面试题

以下是笔者认为比较经典的关于Java main方法的面试题,与其说是Java面试题,其实也是Java的一些最基础知识问题,分享给大家,如有错误,请指出。 很多小伙伴都喜欢在网上寻找教程,这种学习的...

紫魅编程
2016/04/23
497
0
每周10道Java面试题:面向对象, 类加载器, JDBC, Spring 基础概念

本文作者:ImportNew -唐尤华 未经许可,禁止转载! 每周10道 Java 面试题由 ImportNew 整理编译自网络,欢迎投稿您面试中遇到过的疑难问题。 1. 为什么说Java是一门平台无关语言? 平台无关...

ImportNew
2018/12/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
720
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
26
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
75
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
74
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部