重载的定义:
定义一个类
1.方法重载:类中多个方法,方法名相同,参数和类型不同,返回值可相同可不相同。
2.特殊的方法重载:构造方法重载,方法名相同,根据参数的不同来调用不同的构造方法。
重载的用处:
可实现多态,重载支持多态,是java实现“一个接口,多重方法”模式的一种方式。
举例:
方法重载:
- class Dog{
- int num;
- void name(){
- System.out.println(" dog name bigyellow");
- }
- void name(int i,String[] name){
- num=i+1;
- System.out.println("NO"+num+"name:"+name[i]);
- }
- }
- public class TestOverload{
- public static void main(String[] args){
- Dog d = new Dog();
- String []name={"bigyellow","littleworm","littlebai"};
- d.name();
- for(int i=0;i <3;i++){
- d.name(i,name);
- }
- }
- }
- //输出结果
- dog name biggyellow
- NO 1 name:bigyellow
- NO 2 name:littleworm
- NO 3 name:
构造重载:
- class Dog{
- int num;
- Dog(){ //构造函数
- System.out.println("is my dog");
- }
- Dog(int i,String[] name){ //构造函数
- num=i+1;
- System.out.println("Overeload :NO"+num+"name:"+name[i]);
- }
- void name(){
- System.out.println(" dog name bigyellow");
- }
- void name(int i,String[] name){
- num=i+1;
- System.out.println(" NO"+num+"name:"+name[i]);
- }
- }
- public class TestOverload{
- public static void main(String[] args){
- Dog d = new Dog();
- String []name={"bigyellow","littleworm","littlebai"};
- d.name();
- for(int i=0;i <3;i++){
- d.name(i,name);
- new Dog(i,name);
- }
- }
- }