Java基础--构造方法和重载

本文介绍了构造方法的作用及特点,包括如何通过构造方法初始化类的实例并简化赋值代码。此外,还详细解释了方法重载的概念及其特点,通过示例展示了如何使用不同参数实现相同的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PART1:构造方法

A:构造方法的作用

  1. 在创建一个类的实例时,就可以给他的私有字段赋初始值;
  2. 简化我们为类字段(也叫成员变量)赋值的代码。

B:构造方法的特点

  1. 该方法一定要与类同名;
  2. 该方法没有返回值(void也不行);
  3. 该方法不能手工调用;
  4. 一个类可能没有构造方法(隐式无参的构造方法),也可以有多个构造方法,他们之间构成重载关系;
  5. 如果我们定义了有参数的构造方法的话,就会屏蔽掉系统无参数的构造方法;
  6. 构造方法不可被继承。

构造方法代码示例:

class Dog{
	public int age;
	public String name;
	public Dog(int age, String name){  //带参数的构造方法
		this.age = age;
		this.name = name;
	}
	public Dog(){		   //无参数的构造方法

	}
}

构造方法测试代码示例:

public class DogTest{
	public static void main(String [] args){
		Dog dog1 = new Dog();			  //调用无参数的构造方法
										  //若仅写了带参数的构造方法,则无法通过此操作创造实例对象
		Dog dog2 = new Dog(7,"bage");	  //调用带参数的构造方法
	}
}

PART2:重载

A:重载的概述
可以给予不同的初始条件(参数类型或者参数个数)来处理相同的事情。有些类有多个构造方法。例如可以构造一个如下的空的对象:

Dog dog1 = new Dog();

或者,可以指定一个初始字符串:

Dog dog2 = new Dog("something");

这种特征就叫做重载。如果多个方法有相同的名字、不同的参数(参数个数不同或者类型不同),便产生了重载。编译器会根据是否传入参数以及传入参数的个数和类型进行匹配挑选出相应的方法。如果编译器找不到相应的方法,就会产生编译错误。

B:重载的特点:

  1. 一个类中存在两以上同名方法;
  2. 多个同名方法的参数(参数的数目或者参数的类型组合)必须不同;
  3. 返回值不能作为两个方法是否构成重载的依据。

重载代码示例:

/**
* 重载:
* 	传入不同的参数,都可以实现相加的操作
* 	使代码更智能
*/
public class Add{
	public int add(int a,int b){
		.....			
	}
					
	public int add(int a,float b){
		.....			
	}
					
	public double add(int a,int b){        //和第一个方法存在冲突,不符合重载 
		.....   						   //例如 Add a = new Add(); a.add(10,10) 调用的到底是谁??? 
	}
					
	public double add(float a,int b){
		.....			
	}
					
	public int add(int b,int a){		  //和第一个方法存在冲突,不符合重载
		.....			
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值