构造方法

说道java中的构造方法,可能大家都知道,但是在实际运用中却甚少知道,如果要问及构造方法的作用,我想知道的就更少了吧,今天就构造方法整理了一下。

构造方法的格式
class  类名称{
访问权限 类名称(类型1 参数1, 类型2 参数2,..){
程序语句;
...// 构造方法没有返回值;
}

}
在构造方法的声明中读者移动要牢记以下几点:
构造方法的名称必须与类名一致。
构造方法的声明处不能有任何返回值的声明。
不能在构造方法中使用return 返回值。



构造方法的作用,说白了就是为了方便对类内部属性的赋值而产生的(为类中的属性初始化)。 由于封装性,一个类内部属性一般需要被设置成private ,这样外部类就无法直接访问,只能通过setter()和getter()方法来调用,那么对于类内部呢,如果要同时对几个或者更多属性进行初始化,必须一次次调用setter(),那么有没有更好方法呢?答案是有得,可以通过构造方法来方便的复制。直接上例子

class Personal{
	private String name;
	private int age;
	
	public Personal(String name, int age){
		this.name=name;
		this.age = age;
	}
	public void print(){
		System.out.println("name:"+this.name+"\nage:"+this.age);
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		//逻辑判断
		if(age>0 && age<150){
			this.age = age;
		}
	}
	
}
public class ConstruterTest {
	public static void main(String[] args) {
		Personal p = new Personal("张三",99);
		p.print();
	}
}

通过这方法可以直观的看到构造方法的作用。

我们经常会这样写  Personal p =  new Personal();

其实 ,只要一有对象实例化,就会调用构造方法。而=右边的本身就是一个构造方法,可能你会说,我没有写构造方法啊,这个“Personal()”其实使我们在编译时 ,自动创建的,和上面的有参构造方法,我们可以看到编译时默认生成的是无参的。


需要注意的是:关于自动生成构造方法的说明

在一个类中如果已经明确的生命了一个构造方法,那么程序在编译时将不再生成默认的构造方法,即在一个类中应该至少保证有一个构造方法

与普通方法一样,构造方法也是可以重载的,只要每个构造方法的参数类型或者参数个数不同,即可实现重载。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值