(八)构造方法

虫师 创建于 almost 7 years 之前

最后更新: less than a minute 之前

阅读数: 139

(八)构造方法

构造方法


构造方法用于初始化一个新建的对象, 如果你没有定议任何构造方法的形式, 程式会为你取一个不带任何参数的构造函数, 那么你产生类的对像时只能用不带参数的方法。

  • 1.构造器必须与类同名(如果一个源文件中有多个类, 那么构造器必须与公共类同名)
  • 2.每个类可以有一个以上的构造器
  • 3.构造器可以有 0 个、 1 个或 1 个以上的参数
  • 4.构造器没有返回值
  • 5.构造器总是伴随着 new 操作一起调用

public class Father {

    public Father() {
        System.out.println("调用了无参的构造函数.");
    }

    public Father(String msg) {
        System.out.println("调用了有参的构造函数: " + msg);
    }

    public static void main(String args[]) {
        Father f1 = new Father();
        Father f2 = new Father("Hello");
    }
}

运行结果:

调用了无参的构造函数.
调用了有参的构造函数: Hello
构造函数中"super"用法

构造方法和普通方法都用会关键字 super 指向父类,但是用的方法不一样。在构造方法中,调用父类中的某一个构造函数。在构造方法中的用法。

public class Son extends Father {

    public Son(String msg) {
        super(msg);  // 调用父类的构造方法
    }

    public static void main(String args[]) {
        Son f = new Son("Hello");
    }
}

运行结果:

调用了有参的构造函数: Hello
构造函数中"this"的用法

接下来的例子中涉及到两个用法。

  • this(参数):在自身构造方法内部调用其它构造方法。

  • this.成员变量:调用本类中的成员变量。


public class Son2 {

    //定义成员变量
    private String name; // 实例化对象时,默认值是null

    /**
     * 无参数的构造方法
     */
    Son2() {
        System.out.println("我是二儿子!");
    }

    /**
     * 有参数的构造方法
     */
    Son2(String name) {
        this();  //调用无参数的构造方法
        this.name = name;  // 调用成员变量
    }

    public void say() {
        System.out.println("我叫:" + name);
    }

    public static void main(String[] args) {
        Son2 s = new Son2("王小二");
        s.say();
    }
}

运行结果:

我是二儿子!
我叫:王小二
0

相关课程

python极简教程
图文
python极简教程

课程分类: 编程语言

言简意赅

  • 已完结
  • 已更新7集
  • 最后更新时间: 2024-03-18 12:30:10

免费

查看详情
通过实践学python
图文
通过实践学python

课程分类: 编程语言

自己动手才能学会了

  • 已完结
  • 已更新14集
  • 最后更新时间: 2024-03-18 11:35:25

免费

查看详情
django入门投票系统
django入门投票系统

课程分类: 编程语言

django入门投票系统

  • 更新中
  • 已更新6集
  • 最后更新时间:

免费

查看详情