Java重点之-构造器的梳理

构造器

构造器的作用

  • 构造器作为Java类的一个特殊的成员同样可以设置关键字来控制其访问权限。在大多数情况下,我们一般把构造器设置为公有成员,即public的,在默认情况下,如果不写任何关键字,其访问权限也是public。这样,在我们新建一个类的对象的时候,构造器会创建对象后被自动调用,发生在其他类成员被设置为默认初始值之后,当然如果有字段初始器和初始化块的话,构造器的调用会发生在此之后。构造器的主要作用是在new将对象的引用返回之前初始化对象。简而言之:对对象的属性进行初始化,如果我们不自己创建构造方法,系统会自动调用默认的无参的构造方法。

构造器的基本构成

  • 要点:修饰词、方法名、参数列表、构造体。
  • 具体格式:
	修饰词 方法名(参数列表) {
	  	构造体
	  }	

##创建非系统的构造器

  • 分类:
    • 无参的构造方法:会将成员变量初始化为null或0或false
    • 有参的构造方法:会将成员变量进行初始化并赋值(赋值成为通过参数传入的值)

构造器的分类

  • 私有构造器:
    • 解释:所谓私有构造器,就是用private关键字声明的构造器。与一般公有构造器最大的区别在于,其访问权限是private,于是它只能被包含它的类自身所访问,而无法在类的外部调用,故而可以阻止对象的生成。所以,如果一个类只有一个私有构造器,而没有任何公有构造器,是无法生成任何对象的。
    • 作用:在单例模式中,创建一个单例的类的时候就必须使用私有的构造器,为的是不让外部创建对象,直接在类的内部创建一个唯一的对象共所有的其它外部函数使用。
    • 实例代码:
	class SingleInstance2 {
		private static final SingleInstance2 singleInstance2 = new SingleInstance2();//类的内部直接生产一个对象共外部使用
		private SingleInstance2() {//私有化构造器
			super();
			// TODO Auto-generated constructor stub
		}
		public static SingleInstance2 getSingleinstance(){//方便于外界得到这个唯一的类对象
			return singleInstance2;
		}
	 }

	public static void main(String[] args) {
		SingleInstance2 singleInstance2 = SingleInstance2.getSingleinstance();//通过类的公有的方法得到这个对象。
	}			
  • 公有构造器:
    • 解释:所谓公有构造器,相比较于公有构造器而言,其声明的方式为public关键字,它可以被外部的函数访问,访问的方法就是new一个这个类,生成一个对象,比较于私有构造器它的不同点在于能够在外部使用,而私有的构造器只能在类的内部被访问。
    • 作用:对对象的属性进行初始化,如果我们不自己创建构造方法,系统会自动调用默认的无参的构造方法
    • 实例代码:
	class Person {
		String name;
		int age;
		
		public Person() {//创建公有的构造器
			super();
			// TODO Auto-generated constructor stub
		}
	}

	public static void main(String[] args) {
		Person person = new Person();//使用Person的公有构造器创建一个对象
	}	

注意点

  • 没有返回值
  • 方法名必须与当前的类名相同
  • 一旦创建自己的构造方法,就不会再去调用系统默认的构造方法了
  • 多个构造方法之间是重载关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值