栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java——面向对象的编程学习之构造器

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java——面向对象的编程学习之构造器

详解Java构造器的使用

构造器(constructor)构造器重载属性赋值的顺序扩展:JavaBean

构造器(constructor)

构造器(也叫构造方法)作为类的成员之一,在面向对象的开发过程中,起着重要的作用。Java构造方法是类的一种特殊方法,主要用来在创建和初始化一个类的新对象,简化了对象初始化的代码,总与new运算符一起使用。

class test{
	public static void main(String[] args){
		Person p1 = new Person();  // new后面跟的就是构造器
		// 在创建一个对象时,对其属性进行了初始化
	}
}

class Person{
	int age;
	double height;
	public Person(){
		age = 20;
		height = 175.5;
	}
}

构造器的作用主要有:

    创建对象初始化对象信息

说明:

    如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器定义构造器的格式:权限修饰符 类名(形参列表){}一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器一个类中,至少有一个构造器。构造器没有返回值

举例:

class Person{
	int age;
	double height;
	public Person(){
		age = 20;
		height = 175.5;
	}
}

在上面的代码中,我们显式地创建了一个构造器,并对类的相对属性进行了初始化赋值。

构造器重载

和前面方法的重载类似,一个类中可以创建多个构造器,从而彼此之间形成重载。
举例

class Person{
	int age;
	double height;
	public Person(){
		age = 20;
		height = 175.5;
	}

	public Person(int a, double h){
		age = a;
		height = h;
	}
	
	public Person(int a){
		age = a;
		height = 180.0;
	}
}

在上面代码中,共创建了三个构造器,由于构造器的形参列表不同,因此这三个构造器构成重载。

属性赋值的顺序

在前文已经提到,通过构造器,我们可以对属性进行初始化。截止到目前,对属性进行初始化的位置主要有:

①默认初始化②显式初始化③构造器中初始化④通过“对象.属性”或“对象.方法”进行初始化
其赋值先后顺序为:①——>②——>③——>④

验证:

class test{
	public static void main(String[] args){
		Person p1 = new Person();  
		System.out.println(p1.age);   // 此时输出0,为默认初始化
	}
}

class Person{
	int age;
}
class test{
	public static void main(String[] args){
		Person p1 = new Person();  
		System.out.println(p1.age);   // 此时输出1,为显式初始化
	}
}

class Person{
	int age = 1;
}

通过上述两段代码,可以看到①——>②

class test{
	public static void main(String[] args){
		Person p1 = new Person(5);  
		System.out.println(p1.age);   // 此时输出5,为构造器初始化
	}
}

class Person{
	int age = 1;
	public Person(int a) {
		age = a;
	}
}

所以②——>③

class test{
	public static void main(String[] args){
		Person p1 = new Person();  
		p1.setAge(10);
		System.out.println(p1.age);   // 此时输出10,通过“对象.方法”初始化
	}
}

class Person{
	int age = 1;
	public Person() {
		age = 5;
	}
	
	public void setAge(int a) {
		age = a;
	}
}

所以③——>④

扩展:JavaBean

JavaBean是一种Java语言写成的可重用组件。所谓JavaBean,是指符合如下标准的Java类:

类是公共的(public)有一个无参的公共的构造器有属性,且有对应的get、set方法

举例

// 类是公共的
class Person{
 	// 有属性
	private int age = 1;
	private String name;
	private double height;

	//有一个无参的公共的构造器
	public Person() {
		
	}
	// 有对应的get、set方法
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public double getHeight() {
		return height;
	}
	public void setHeight(double height) {
		this.height = height;
	}
	
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/782195.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号