Java基础 类中的构造方法

鳄鱼君

发表文章数:642

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买
首页 » Java » Java基础 类中的构造方法

Java类中的构造方法,又被称为构造函数/构造器/Constructor,它的语法结构为:

[修饰符列表] 构造方法名(形式参数列表){
    构造方法体;
}

普通方法语法结构:

[修饰符列表] 返回值类型 方法名(形式参数列表){
    方法体;
}

对于构造方法来说,“返回值类型”不需要指定,并且也不需要void,写上void就属于普通方法!构造方法的方法名必须要和类名保持一致。

构造方法的作用?
通过构造方法,可以创建对象
构造方法调用?
普通方法:方法修饰符中有static的时候》类名.方法名(实参列表);方法修饰符列表中没有static的时候》引用.方法名(实参列表)
构造方法:new 构造方法名(实参列表)
构造方法调用执行后有返回值吗?
每一个构造方法执行行结束之后都有返回值,但是这个“return 值;”不需要写,构造方法结束的时候java程序自动返回值。并且返回值类型是构造方法所在的类的类型。
构造方法User:

public class User {
	public User() {
		System.out.println("鳄鱼君");
	}
}

调用User:

public class ConstructorTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//调用User类的构造方法来完成对象的创建
		new User();// 执行构造方法
	}

}

当一个类中没有定义任何构造方法的时候,系统默认给该类提供一个无参数的构造方法,这个构造方法称为缺省构造器
当一个类显示的构造方法定义出来的时候,呢么系统则不再默认为这个类提供缺省构造器,建议手动为当前类提供无参数构造的方法

public class User {
	public User(){
		System.out.println("无参数构造方法");
	}
	
	// 定义一个带参数的构造方法
	public User(String name){
		System.out.println("欢迎回来 :" + name);
	}
}
public class ConstructorTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//调用带参数的构造方法
		new User("鳄鱼君");// 执行构造方法
		
		new User();
	}

}

构造方法支持重载机制,在一个类当中编写多个构造方法,这多个构造方法已经构成方法重载机制

public class User {
	public User() {
		System.out.println("无参数构造方法");
	}

	// 定义一个带参数的构造方法
	public User(String name) {
		System.out.println("带有String参数的构造器");
	}

	public User(int name) {
		System.out.println("带有int参数的构造器");
	}

	public User(int i, String name) {
		System.out.println("带有int,String参数的构造器");
	}
}
public class ConstructorTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//创建User对象
		User u1 = new User();
		User u2 = new User("鳄鱼君");
		User u3 = new User(10); 
		User u4 = new User(10,"鳄鱼君");
		
	}

}

构造方法的另一个作用:创建对象的同时,初始化实例变量的空间

//用户类
public class User {
	// 无参数构造方法
	public User() {
		// 初始化实例变量的内存空间
		// 相当于
		num = 0;
		name = null;
		age = 0;
	}

	// 有参数构造器
	public User(int a, String b, int c) {
		num = a;
		name = b;
		age = c;
	}

	// 学号
	public int num;

	public void setNum(int num) {
		if (num < 0 || num > 100000) {
			return;
		}
		this.num = num;
	}

	public int getNum() {
		return num;
	}

	// 姓名
	public String name;

	public void setName(String name) {

		this.name = name;
	}

	public String getName() {
		return name;
	}

	// 年龄
	public int age;

	public void setAge(int age) {
		if (age < 0 || age > 100) {
			return;
		}
		this.age = age;
	}

	public int getAge() {
		return age;
	}

}
public class ConstructorTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// 创建一个user1对象
		// 查看对象访问的是那个属性:Ctrl + 鼠标移到该方法上单击
		User user1 = new User();
		// user1.setNum(1110); Ctrl + 鼠标放到setNum上单击
		
		System.out.println("学号:" + user1.num);// 0
		System.out.println("姓名:" + user1.name);// null
		System.out.println("年龄:" + user1.age);// 0
		
		User user2 = new User(10201,"鳄鱼君",18);
		// user1.setNum(1110); Ctrl + 鼠标放到setNum上单击
		
		System.out.println("学号:" + user2.num);// 10201
		System.out.println("姓名:" + user2.name);// 鳄鱼君
		System.out.println("年龄:" + user2.age);// 18

	}

}

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《Java基础 类中的构造方法》 发布于2020-08-07

分享到:
赞(0) 赏杯咖啡

评论 抢沙发

9 + 6 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册