Java构造方法总结

构造方法结构

方法名为类名,结构为:
类名(【参数列表】){

}
使用new来调用,样例代码如下(不包含构造方法)

public class UserInfo {
	public static void main(String[] args) {
		UserInfo Lin = new UserInfo();
	}
}

构造方法特点

a.构造方法不可以有返回值部分,且void也不可以。
b.一个类中默认有无参构造方法,当定义了一个有参构造方法时,则默认无参构造方法隐藏。
c.构造方法不允许使用final,static等修饰。若出现final,static等,则会出现代码编译错误,无法运行。
d.一个类中根据需要可定义多个构造方法,这也是重载的体现。
e.类中的构造方法可以相互调用,即this(实参列表);但必须置于构造方法有效代码的第一行,同时也就规定此种方法只可调用一次方法。
详细代码如下:


public class UserInfo {

	int age;
	String name;
	String moble;
	String address;
	
	UserInfo(int a,String n,String m,String add){
		this (18,"lindazhi");
		age = a;
		name = n;
		moble = m;
		address = add;
	}
	
	UserInfo(int a,String n){
		age = a;
		name = n;
		System.out.println(a);
		System.out.println(n);
	}
	public static void main(String[] args) {
		UserInfo Lin = new UserInfo (12,"林扬","857857857","河南省郑州市");
		System.out.println(Lin.age);
		System.out.println(Lin.name);
		System.out.println(Lin.moble);
		System.out.println(Lin.address);
	}
}

无参构造与有参构造

无参构造:

public class UserInfo {
	int age;
	String name;
	String moble;
	String address;
	
	UserInfo(int a,String n){
		age = a;
		name = n;
		System.out.println(a);
		System.out.println(n);
	}
	public static void main(String[] args) {
		UserInfo Lin = new UserInfo();
		Lin.age = 18;
		Lin.name = "林杨";
		Lin.number = "857857857";
		Lin.address = "河南省郑州市";
		System.out.println(Lin.age);
		System.out.println(Lin.name);
		System.out.println(Lin.number);
		System.out.println(Lin.address);
	}
}

有参构造:

public class UserInfo {
	int age;
	String name;
	String moble;
	String address;
	
	UserInfo(int a,String n,String m,String add){
		this (18,"lindazhi");
		age = a;
		name = n;
		moble = m;
		address = add;
		public static void main(String[] args) {
		UserInfo Lin = new UserInfo (12,"林扬","857857857","河南省郑州市");
		System.out.println(userInfo.age);
		System.out.println(userInfo.name);
		System.out.println(userInfo.number);
		System.out.println(userInfo.address);
	}
}

由此可看出:有参构造更方便给成员变量赋值。

发布了19 篇原创文章 · 获赞 0 · 访问量 468

猜你喜欢

转载自blog.csdn.net/zzu957/article/details/104579855