Java 方法的重载跟构造器重载之间的区别

Java 方法的重载跟构造器重载之间的区别

作者:邹爱红,
撰写时间:2019年05月08日

构造器的重载:形参列表不同

public class Demo2 {
String name;
int age;
//只是形参列表不同
public Demo2(){
System.out.println(“无参构造方法”);
this.name = name;
this.age = age;
}
public Demo2( int age) {
this.name = “小天”;
this.age = age;
}

public Demo2(int age,String name) {
this(age);//调用另外一个构造方法
this.name = name;
}
public Demo2(String name, int age) {

this(age,name);
System.out.println(“有参构造方法3”);
}
public void say(String text){
System.out.println(this.age +“岁的”+this.name+“说: “”+text+”"");
}
//构造器的调用
public static void main(String[] args)
{
//构造器的申明实例化和使用
//无参数构造方法
Demo2 demo1=new Demo2();
demo1.age=20;
demo1.name=“允恩”;
demo1.say(“积极向上的心态,是成功的最基本要素”);

//有参构造方法1
System.out.println();
System.out.println(“有参构造方法1”);
Demo2 demo2=new Demo2(19);
demo2.name=“小美”;
demo2.say(“生活总会给你另外一个机会,这个机会叫明天”);
//有参构造方法2
System.out.println();
System.out.println(“有参构造方法2”);
Demo2 demo3=new Demo2(19,“雨晴”);
demo3.say(“青春是明知道错了,偏要任性到底!”);

有参构造方法3
System.out.println();
Demo2 demo4=new Demo2(“芷琪”,19);
demo4.say(“我们必须在失败中寻找胜利,在绝望中寻找希望”);
}
}
在这里插入图片描述

方法的重载(overload ): 返回类型可以相同 也可以不同。

  1. 区别是参数,必须形参列表不一样(参数个数或类型不一样);

  2. 被重载的方法可以改变返回类型

  3. 返回的类型不能作为重载的标准,形参类表才是

  4. 修饰符可以改变

  5. 可以声明新的或更广的检查异常也可以,不影响重载,相同的方法名,形参列表不同

  6. 方法能够在同一个类中或者在一个子类中被重载。

方法的三个要素:调用者相同,方法名相同,形参列表不同

调用者就是:本身那个类,然后变成要可以点出来的static,本来是要实例化的,

所属的调用者不同,不构成方法重载。

修饰符可以改,修饰符不影响方法的重载

重载的例子:
package baoming;
public class
Teacher {
int age;
String name;
Public
int getAge() {
return age;
}

Public void setAge(int age) {
this.age = age;
}

Public String getName() {
return name;
}

public void setName(String name) {
this.name = “啊娟”;
}
public void say(String text) {
System.out.println(this.age + “岁的” + this.name + “说:”" + text + “”");
}
public void say(String text, String state) {
System.out.println(this.age + “岁的” + this.name + state + “的说:”" + text

  • “”");
    }

public String say(String text, String state, String location) {
return this.age+ “岁的” + this.name + “在” + location + “”+ state+ “的说:”" + text + “”";
}
public static void main(String[] args) {
Teacher teacher = new Teacher();
teacher.setAge(19);
teacher.setName("");// 调用那个阿娟
teacher.getName();//获取使用
teacher.say(“舞动生命的旋律,把握青春的脉搏”);
teacher.say(“虽然我们无法阻拦时间的流逝,但是我们可以主宰自己的心情”, “激动”);
String string=teacher.say(“用心吐字,用爱归音”, “激动”, “学校”);
system.out.println(string);
}
}

结果;
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值