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

概述

构造方法设计的目的是对于对象的初始化。

通过提供构造方法,类的设计者可以确保每个对象都会得到初始化。

package test;

public class Test{
	private String name;
	private int age;
	private int num;
	public Test(){
		System.out.println("无参构造方法");
	}
	public Test(String name, int age, int num){
		this.name=name;
		this.age=age;
		this.num=num;
		System.out.println("有参构造方法");
	}
	public static void main(String[] args){
		Test TT1=new Test();
		System.out.println(TT1.name+"t"+TT1.age+"t"+TT1.num);
		Test TT2=new Test("BLYang",1,1);
		System.out.println(TT2.name+"t"+TT2.age+"t"+TT2.num);
	}
}

这个程序中,定义了重载的构造方法,类的内部变量是私有的,保障了信息的安全性。

对于无参构造方法,由于没有在方法中定义传值,内部变量没有获取外部传值,所以变量保持默认值。String类型是NULL,int类型是0.

对于含参构造方法,在方法当中传值给内部变量,实现了给变量的赋值。注意到这个方法当中的传值变量名与内部变量名一致,故要使用this关键字。


构造方法也是一种方法,但它是一种特殊类型的方法,可以用来实现成员变量的初始化操作,但是在声明时必须遵守一定的规则。

1、构造方法名必须与类名一致

2、构造方法没有返回值,但是不能理解为返回类型是void,它和void类型是完全不同的两个概念

3、构造方法在类中定义以后,当类被定义时,构造方法会被编译器默认执行。所以构造方法总是和new操作符同时出现的,也就是说不能用对象来调用构造方法。

4、在构造方法中,可以使用this关键字来调用其他的构造方法,也可以使用super关键字来调用超类的构造方法。

关于这个this关键字,它的作用是为了从方法的内部直接获取当前对象的引用。这个关键字只能在方法的内部使用,表示对“调用方法的那个对象”的引用,this调用时就代表了“这个对象”或者“当前对象”,但是如果要调用同一个类中的另外一个方法时,this是不必使用的,直接调用即可。只有在需要明确指出对当前对象的引用时,才需要使用this关键字。

让构造方法与类名相同是从两个方面考虑的,首先,由于构造方法的特殊性,它的名字必须不能与成员名称冲突,其次,调用构造方法是编译器的任务,必须让编译器能够迅速的识别出构造方法。

不含任何参数的构造方法称为默认构造方法,也称之为无参构造方法,它的作用是创建一个默认对象,如果类中没有定义构造方法,编译器会自动生成一个默认构造方法。 有时候,无参构造方法也是有意义的。比如某个类是作为父类存在的,它定义了含参的构造方法,当子类想要调用父类的默认构造方法时,因为存在含参构造方法,默认的构造方法就被编译器略去了,所以这时候无参构造方法就有了用武之地。


当通过定义构造方法进行初始化的时候,有一种特殊的构造方法,那就是单例模式下的构造方法。经典的单例模式构造方法如下:

package test;

public class Test{
	private static Test test=null;
	
	private Test(){
	}
	
	public static Test getInstance(){
		if(test.equals(null)){
			test=new Test();
		}
		return test;
	}
	
}

单例模式下,创建的单例构造方法必须满足下面几个要求:

1、单例类只能有一个实例。
  2、单例类必须自己自己创建自己的唯一实例。
   3、单例类必须给所有其他对象提供这一实例。

单例模式可以保证只有一个实例,并向这个类系统提供这个实例,避免在类中的对象的不一致状态。确保仅能获得一个对象,防止其他用户创建对象,这里需要将构造方法设置成private的,然后提供一个静态方法,该方法返回这个类的对象。


最后

以上就是漂亮百合为你收集整理的关于构造方法的说明的全部内容,希望文章能够帮你解决关于构造方法的说明所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部