Java小白入门200例86之Java方法重载

Posted 编程界明世隐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白入门200例86之Java方法重载相关的知识,希望对你有一定的参考价值。

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

引言

很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  85.为什么使用向上转型而不直接创建子类对象
►下一篇  87.Java重写

概述

Java 允许同一个类中定义多个同名方法,只要它们的形参列表不同即可。如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,这种情况被称为方法重载(overload)。

实例1

参数的个数不同的重载。

package demo.demo86;

public class OverLoading {

	public void print(){
		System.out.println("没有参数的方法print");
	}
	public void print(String a){
		System.out.println("一个参数的方法print");
	}
	public void print(String a,String b){
		System.out.println("2个参数的方法print");
	}
	public void print(String...strs){
		System.out.println("n个参数的方法print");
	}
	public static void main(String[] args) {
		OverLoading ol = new OverLoading();
		ol.print();
		ol.print("a");
		ol.print("a","b");
		ol.print("a","b","c");
	}

}

运行:

没有参数的方法print
一个参数的方法print
2个参数的方法print
n个参数的方法print

实例2

参数的类型不同的重载

package demo.demo86;

public class OverLoading2 {

	public void print(String a){
		System.out.println("参数是String 类型方法");
	}
	public void print(int a){
		System.out.println("参数是int 类型方法");
	}
	public void print(double a){
		System.out.println("参数是double 类型方法");
	}
	public static void main(String[] args) {
		OverLoading2 ol = new OverLoading2();
		ol.print("a");
		ol.print(1);
		ol.print(3.14);
	}

}

运行:

参数是String 类型方法
参数是int 类型方法
参数是double 类型方法

实例3

参数的类型和个数混合重载。

package demo.demo86;

public class OverLoading2 {

	public void print(String a){
		System.out.println("参数是String 类型方法");
	}
	public void print(int a){
		System.out.println("参数是int 类型方法");
	}
	public void print(int a,int b){
		System.out.println("2个参数是int 类型方法");
	}
	public void print(double a){
		System.out.println("参数是double 类型方法");
	}
	public static void main(String[] args) {
		OverLoading2 ol = new OverLoading2();
		ol.print("a");
		ol.print(1);
		ol.print(1,2);
		ol.print(3.14);
	}
}

运行:

参数是String 类型方法
参数是int 类型方法
2个参数是int 类型方法
参数是double 类型方法

实例4

想通过不同返回值来重载,会得到编译错误,是不被允许的。

实例5

main方法能被重载吗?答案是可以的,但是只有

public static void main(String[] args)

会被虚拟机识别为入口方法,其他的只是作为普通方法来使用。

package demo.demo86;

public class OverLoading4 {

	public static void main(String[] args) {
		System.out.println("main String[]");
	}

	public static void main(String a) {
		System.out.println("main String");
	}
}

运行结果:

main String[]

可以看到只有public static void main(String[] args)被执行了,当然我们按照普通方法来调用是没有问题的。

package demo.demo86;

public class OverLoading4 {

	public static void main(String[] args) {
		System.out.println("main String[]");
		//调用普通方法main(String)
		main("a");
	}

	public static void main(String a) {
		System.out.println("main String");
	}
}

运行结果:

main String[]
main String

小结

这节总结了“ Java方法重载 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  85.为什么使用向上转型而不直接创建子类对象
►下一篇  87.Java重写

热门专栏推荐

1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java

以上是关于Java小白入门200例86之Java方法重载的主要内容,如果未能解决你的问题,请参考以下文章

Java小白入门200例76之main方法

Java小白入门200例77之Java方法的可变参数

Java小白入门200例114之ArrayList创建和初始化方法

Java小白入门200例73之Java注释的使用(类方法属性)

Java小白入门200例16之方法的定义和使用

Java小白入门200例112之Java HashSet类