Java的构造器(构造方法)

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();
    }
}

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java的构造器(构造方法)