Java的构造器(构造方法)
程序员文章站
2022-06-28 10:38:08
Java的构造器(构造方法) 概念 构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。 构造方法的主要功能就是完成对象创建或者初始化。 当类创建对象(实例化)时,就会自动调用构造方法。 构造方法与普通方法一样也可以重载。 他的形式如下: //方法名与类名相同 修饰符 方法名([参数列 ......
java的构造器(构造方法)
概念
构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。
构造方法的主要功能就是完成对象创建或者初始化。
当类创建对象(实例化)时,就会自动调用构造方法。
构造方法与普通方法一样也可以重载。
他的形式如下:
//方法名与类名相同 修饰符 方法名([参数列表]){ 代码。。。 }
默认构造器
如果没有定义构造器,则会默认一个无参构造器,这就是为什么你定义了一个对象,比如 people,没有定义任何构造器却可以new这个对象,比如 new people() 。如果自定义了构造器,则会覆盖默认构造器。
禁止对象被外部创建
直接将构造器的修饰符改为 private 即可,这样就不能在外部通过new来创建这个对象了。
package com.cnblogs; /* 本类用于实现 */ public class application { public static void main(string[] args) { //实例化一个对象 //有参 name getna = new name("柒"); //无参 name namege = new name(); system.out.println(getna.name);//柒 system.out.println(namege.name);//null } }
package com.cnblogs; public class name { string name; //有参构造 public name(string name) { this.name = name; } //无参构造 public name(){ } //构造器的重载 public name(int a){ } }
构造器的继承
定义父类构造器,由于该构造器自定义了一个带参构造器,覆盖了默认的无参构造器,所以不能直接 new persion() 调用了,除非再定义一个无参构造器。
package com.cnblogs; //父类 public class persion { //有参构造 public persion(string name) { } //无参构造 public persion(){ } }
package com.cnblogs; //子类 public class student extends persion{ //有参构造:super加形参必不可少 public student(string name) { super(name); } //无参构造:父类为默认构造器或者public persion(){ } 以下代码可以不写 public student() { super(); } }