Java中方法的签名、重载和构造方法

  • 方法签名

许多程序语言(C和C++)用函数这个术语来描述子程序,而在java中却常用方法这个词来表示“做某些事情的方式”。方法的基本的组成部分包括:名称、参数列表、返回值和方法体。形式如下:

权限修饰词  返回类型  方法名  (参数列表){
	方法体;
}
public String getName(int i){
	if(i>0){
		return "张三";
	}
	return "李四";
}

返回类型表示调用方法之后返回数值的类型;
参数列表给出了要传给方法的信息的类型和名称。
方法名和参数列表合称为“方法签名”,这是一个方法唯一的标识。
一个类中,不可以有两个方法的签名完全相同(方法名和参数列表完全相同)

  • 方法的重载
    在一个类中,定义方法名称相同,参数列表不相同,这样的方法称为方法的重载。调用方法时,输入不同的参数会调用不同的方法。
    System.out.println();其中的println()就是典型的方法的重载例子。
    我们可以不给println()传参数,那么运行结果将会打印“\n”换行指令;
    我们可以给他传递String型,如println(“ABC”);毫无疑问,运行后控制台会打印"ABC\n",输出String的值加换行。我们调用的是相同的方法名,参数列表不同就会调用不同的重载方法,运行成不同的结果。
    那么方法重载的意义何在,接着,我们介绍构造方法。

  • 构造方法
    构造方法的作用就是初始化类,我们都知道类是new出来的,
    如:A a = new A(); 这里的A()就是类A的构造方法。
    构造方法就是方法名与类名完全一致的方法,用于类的初始化。
    我们的疑问在于,类A并又没定义方法A(),为何能够直接调用?这是java语言的特性之一,当我们建立一个类,没有定义任何的构造方法时,编译器会默认给一个没有参数的构造器供你使用,这也就是无参构造器(默认构造器)。
    当然,无参构造器完全可以自己定义,这样就可以手动加入方法体。
    当我们手工定义构造器时(无参或有参),编译器将不会提供无参构造器。
    如有个类Tree我们只定义了一个构造器Tree(int), 则系统不会允许你使用其他方法来构造Tree。
    构造器特点如下:
    1)给成员变量赋初值
    2)与类同名,无返回值类型
    3)在创建(new)对象的时候自动调用构造方法
    4)若自己不写构造,则编译器默认给一个无参数的构造方法,
    如果自己写了,则编译器调用构造方法,不在默认无参构造方法;
    5)构造方法可以重载

如:

public class teacher{
	public teacher(){}
	public teacher(String name){
		System.out.println(name);
	}
	private teacher(int i){}
}

在上面的例子中,我们可以用teacher();和teacher(“张三”);来构造类teacher。但是不能够用teacher(1);(因为这个构造器是private私有的)以及其他的方式。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪力乌龟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值