欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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