java构造方法及其重载

文章介绍了Java类中的构造方法,包括其特点、作用以及如何通过构造方法初始化对象。还展示了构造方法的重载示例,如Time1类的不同构造函数设置小时、分钟和秒。

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

构造方法

类中在一种特殊的成员方法,其方法名与类名相同,成为构造方法。

示例:


public class Puppy{
     public Puppy() {}
     public Puppy(String name) {}

}

构造方法和对象的初始化

当使用new运算符实例化一个对象时,系统为对象创建内存区域并自动调用构造方法初始化成员变量。下面是new运算符实例化一个对象。

示例:

Puppy p=new Puppy();
Puppy p1=new Puppy("张三");

构造方法的特点

1.构造方法名与类名相同。

2.构造方法没有返回值。

3.在创建一个对象时,至少要调用一个构造方法。

4.构造方法不能显示地直5.接调用。

5.构造方法的主要作用是对对象初始化。

6.每个类都有构造方法。如果没有显式地为类定义构造方法java编译器会为该类提供一个默认的构造方法。

7.一个类可以定义多个构造方法,但各个构造方法的参数表不能相同,即参数个数不同或参数类型不同。

实例-----用构造方法初始化成员变量:

public class Triangle {
	int x,y,z;
	public Triangle(int i,int j,int k) {
		x=i;y=j;z=k;
	}
	public static boolean judge(Triangle m) {
		if(Math.sqrt(m.x*m.x+m.y*m.y)==Math.sqrt(m.z*m.z))
			return true;
		else 
			return false;
	}
	public static void main(String args[]) {
		Triangle t1=new Triangle(3,4,5);
		if(judge(t1))
			System.out.println("这是一个直角三角形");
		else 
			System.out.println("这不是一个直角三角形");
	}
}

实例-----构造方法重载:

class Time1 {
	private int hour;
	private int minute;
	private int second;
	public Time1() {
		setTime(0,0,0);
	}
	public Time1(int hh) {
		setTime(hh,0,0);
	}
	public Time1(int hh,int mm) {
		setTime(hh,mm,0);
	}
	public Time1(int hh,int mm,int ss) {
		setTime(hh,mm,ss);
	}
	public void setTime(int hh,int mm,int ss) {
		hour=((hh>=0&&hh<=24)?hh:0);
		minute=((mm>=0&&mm<60)?mm:0);
		second=((ss>=0&&ss<60)?ss:0);
	}
	public String toString() {
		return (hour+":"+(minute<10?"0":" ")+minute+":"+
	(second<10?"0":" ")+second);
	}
}
public class MyTime1{
	private static Time1 t0,t1,t2,t3;
	public static void main(String args[]) {
		t0=new Time1();
		t1=new Time1(11);
		t2=new Time1(22,22);
		t3=new Time1(11,22,33);
		System.out.println("t0= "+t0.toString());
		System.out.println("t1= "+t1.toString());
		System.out.println("t2= "+t2.toString());
		System.out.println("t3= "+t3.toString());
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值