类的构造方法

为便于在基于创建对象时向对象传递参数,以及对类的成员变量的初始化。我们会经常为类编写一个或多个特殊的方法---构造方法

下面我们来看一个例子:


class RectConstrutor {
	private double length;
	private double width;
	double area(){     //一般方法
		return length*width;
	}
	RectConstrutor(double width,double length){    //含参构造方法
		this.length=length;   //给成员变量赋值
		this.width=width;
	}
	
}
public class ComputerRectArea{
	public static void main(String[] args) {
		//创建对象,并赋值
		RectConstrutor rect1=new RectConstrutor(10,20);
		RectConstrutor rect2=new RectConstrutor(3,6);
		double ar; //声明局部变量
		ar=rect1.area();
		System.out.println("第一个长方形的面积是"+ar);
		ar=rect2.area();		
		System.out.println("第一个长方形的面积是"+ar);
	}

}

输出结果为:

第一个长方形的面积是200.0
第一个长方形的面积是18.0

总结起来,构造方法有以下几个特点:

1、每个类都有一个默认的构造方法 ,它既无参数也无返回值,起作用是初始化对象,但是我们看不到默认的构造方法。

2、一旦编写了构造方法,默认的构造方法将被覆盖。

class ConsturtorTest{
	int x;
	public ConstructorTest(int y){
		x=y;
	}
	public static void main(String[] args) {
		ConstructorTest t=new ConstructorTest();   //非法,默认的构造方法已不存在
		System.out.println(t.x);
	}
}
排除这个错误是增加一个无参构造方法:

public   ConstructorTest(){}
或者在创建对象时使用带参数的构造方法,

ConstructorTest t=new ConstructorTest(66); 
3、构造方法仅在使用new时执行一次,而且一般不能通过“对象名.方法名”来调用。

4、构造方法 同样可以重载,使用new创建对象时,可以通过不同参数调用不同的构造方法。

6、构造方法的方法名必须与类名完全相同,且返回值为空,不能返回任何值。

7、构造方法不能被static、final、abstract、synchronized和native等修饰符修饰,并且带参数的构造方法不能被子类继承。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值