方法的重载和构造方法

方法的签名:

方法名+参数列表合起来叫做方法的签名

方法/函数的重载(overload):

  1. 发生在同一个类中,方法名相同,参数列表不同,方法体不同,与返回值类型无关
  2. 编译器在编译时会根据方法的签名自动绑定调用的方法,主要是方便调用该方法

注意:参数列表不同指的是:1,参数个数不同。2,参数类型不同。
如果参数类型不同,只是变量名不一样不算

void sayHi(){}
String sayHi(int a){return "a";}
void sayHi(String name,int a){}
void sayHi(String newname,int b){}//这样不算重载,会报错
调用时根据传进的参数自动调用对应的方法
sayHi();
sayHi(3);
sayHi("abc",2);

构造方法:

  1. 给成员变量赋初值
  2. 与类同名,没有返回值类型
  3. 在创建(new)对象时被自动调用
  4. 若自己不写构造方法,则编译器默认一个无参的构造方法
    若自己写了构造方法,则不再提供默认的无参构造
  5. 构造方法可以重载

this:

指代当前对象,哪个对象调用方法指的就是哪个对象
只能用在方法中,方法中访问成员变量之前默认有个this.
this的用法:

  1. this.成员变量名-------------访问成员变量
  2. this.方法名()---------------调用方法(一般不用)
  3. this()----------------------调用构造方法
  4. 使用this()调用构造函数必须是第一条语句
  5. 不可以使用函数名调用构造函数

例:

class Student{
	int age;
	String name;
	String address;
	Student(int age,String name,String address){
		this(age,name);//使用this()调用构造函数必须是第一条语句
	//	Strudent(age,name);这样写是不允许的,只能用this调。
		this.address = null;//当局部变量和成员变量同名时,用this
	}
	Student(int age,String name){
		this.age = age;
		this.name = name;
		
	}
	Student(){
		this.age=0;
		this.name=null;
		this.address=null;
	}
	
	
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值