我是靠谱客的博主 紧张大地,最近开发中收集的这篇文章主要介绍构造方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

若没有构造方法,实例化一个对象后,如果要为这个对象中的属性赋值,必须要通过直接访问对象的属性或调用方法才可以。

通过构造方法,当类实例化一个对象时会自动调用构造方法,在实例化对象的同时就为这个对象的属性进行赋值。

 

如果一个类中的方法同时满足以下三个条件,该方法称为构造方法:

1、方法名与类名相同。

2、在方法名的前面没有返回值类型的声明。

3、在方法中不能使用return语句返回一个值。

 

案例1:实例化对象的同时,调用构造方法

结果直接输出:无参的构造方法被调用了...,因为new Person()语句不仅实例化了Person对象,还调用了构造方法Person()。

class Person {
	// 下面是类的构造方法
	public Person() {
		System.out.println("无参的构造方法被调用了...");
	}
}
public class Example05 {
	public static void main(String[] args) {
		Person p = new Person();  // 实例化 Person 对象
	}
}

 

 

案例2:在实例化对象的同时就为这个对象的属性进行赋值

结果输出:I am 22 years old.!

 

class Person { 
	int age;
	// 定义有参的构造方法
	public Person(int a) {
		age = a;                       // 为age属性赋值
	}
	public void introduce() {
		System.out.println("I am " + age + " years old.!");
	}
}
public class Example06 { 
	public static void main(String[] args) {
		Person p = new Person(22); // 实例化 Person 对象
		p.introduce();
	}
}

 

 

案例3:构造方法的重载:

在一个类中可以定义多个构造方法,只要每个构造方法的参数类型或参数个数不同即可,在创建对象时,可以通过构造不同的构造方法,为不同的属性赋值。

如下例

class Person {
	String name;
	int age;
	// 定义两个参数的构造方法
	public Person(String con_name, int con_age) {
		name = con_name;	// 为name属性赋值
		age = con_age; 		// 为age属性赋值
	}
	// 定义一个参数的构造方法
	public Person(String con_name) {
		name = con_name; 	// 为name属性赋值
	}
	public void speak() {
		// 打印name和age的值
		System.out.println("大家好,我叫" + name + ",我今年" + age + "岁!");
	}
}
public class Example2 {
	public static void main(String[] args) {
		// 分别创建两个对象 p1 和 p2
		Person p1 = new Person("小田");
		Person p2 = new Person("大燕", 22);
		// 通过对象p1 和 p2 调用speak()方法
		p1.speak();
		p2.speak();
	}
}

 

 

 

注意:当定义有参的构造方法时,且没有定义无参构造方法时,实例化对象时必须传入参数,否则错误。

class Person { 
	int age;
	// 定义有参的构造方法
	public Person(int a) {
		age = a;                       // 为age属性赋值
	}
	public void introduce() {
		System.out.println("I am " + age + " years old.!");
	}
}
public class Example06 { 
	public static void main(String[] args) {
		Person p = new Person(); // 实例化 Person 对象,但没有传参,报错
		p.introduce();
	}
}

 

最后

以上就是紧张大地为你收集整理的构造方法的全部内容,希望文章能够帮你解决构造方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部