Java知识点(七):方法的重载、构造方法、this关键字


Java语言基础

包含方法的重载(Overload)、构造方法的定义、默认的构造方法、构造方法重载、this关键字的定义、this的用法。


一、方法的重载(Overload)

在这里插入图片描述

假设要设计一个收银台

A方案:设计三个窗口,分别使用现金、信用卡、支票进行交付

B方案:设计一个窗口,可以根据用户付款方式,实现现金、信用卡、支票进行交付。相对于A方案,B方案更灵活

重载的定义

1)同一个类中,方法名称相同,参数列表不同

2)编译器在编译时自动根据方法的签名来绑定调用不同方法

/*
 * 重载演示
 * 1.同一个文件中可以包含多个类
 * 2.public修饰的类只能有一个
 * 3.public修饰的类必须与文件名相同
 */
public class Test {

	public static void main(String[] args) {
		Aoo o =new Aoo();
		o.sayHi();
		o.sayHi(25);
		o.sayHi("zhangsan");
		o.sayHi(25, "zhangsan");
		o.sayHi("zhangsan", 25);
	}
	
}

class Aoo{
	void sayHi() {	}
	void sayHi(String name) {	}
	void sayHi(int age) {	}
	void sayHi(String name,int age) {	}
	void sayHi(int age,String name) {	}
}

只有一个sayHi方法,但它可以处理不同的数据。这种设计方式,称为重载设计,即设计多个同名但参数列表不同的方法

二、构造方法

构造方法又称为构造器、构建器、构造函数

2.1、构造方法的定义

1)常常用于给成员变量赋初值

2)构造方法是在类的定义的方法。构造方法与类同名;没有返回类型,不能写void

class max{
	int a;
	int b;
	max(){ //无参构造
		
	}
	max(int c){ //一个参数构造
		a = b = c;
	}
	max(int d,int e){ //多个参数构造
		a = d;
		b = e;
	}
}

3)在创建(new)对象时被自动调用

max m1 = new max(); //调用无参构造
max m2 = new max(5); //调用一个参数构造
max m3 = new max(2,5); //调用多个参数构造

2.2、默认的构造方法

若自己不写构造方法,则编译器默认添加无参构造;若自己写了构造,则不再默认提供

class max{
	int a;
	int b;
	max(){ //无参构造,如不写,默认提供,写了则不提供
	}
}

2.3、构造方法重载

1)方便对一个类定义多个构造方法,这些构造方法都有相同的名称(类名),方法参数不同

2)在创建对象时,java编译器会根据不同的参数调用不同的构造方法

public class ooo {

	public static void main(String[] args) {
		max m1 = new max(); //调用无参构造
		max m2 = new max(5); //调用一个参数构造
		max m3 = new max(2,5); //调用多个参数构造
		//max m3 = new max(2,5,8); //编译错误,没有三个数的构造方法
	}

}

class max{
	int a;
	int b;
	max(){ //无参构造
		
	}
	max(int c){ //一个参数构造
		a = b = c;
	}
	max(int d,int e){ //多个参数构造
		a = d;
		b = e;
	}
}

三、this关键字

3.1、this关键字的定义

1)指代当前对象,那个对象调指的就是哪个对象

2)方法中访问成员变量之前默认都有个this.

3.2、this的用法

1)this.成员变量名-----访问成员变量

2)this.方法名()-----调用方法

3)this()-----调用构造方法

注:成员变量和局部变量重名时,不可省略this

class max{
	int a;
	int b;
	max(){ //无参构造
		
	}
	max(int c){ //一个参数构造
		this.a = this.b = c;
	}
	max(int d,int e){ //多个参数构造
		this.a = d;
		this.b = e;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小鹿快跑~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值