美文网首页
Java-基础-构造方法

Java-基础-构造方法

作者: 月沉眠love | 来源:发表于2019-08-12 23:49 被阅读0次

一、构造方法

自定义了一个构造方法,那么,编译器就不再自动创建默认构造方法:
public class Main {
    public static void main(String[] args) {
        Person p1 = new Person("Xiao Ming", 15); // 既可以调用带参数的构造方法
        Person p2 = new Person(); // 也可以调用无参数构造方法
    }
}

class Person {
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getName() {
        return this.name;
    }

    public int getAge() {
        return this.age;
    }
}

不是任何class都有构造方法?是的。

那前面我们并没有为Person类编写构造方法,为什么可以调用new Person()?

原因是如果一个类没有定义构造方法,编译器会自动为我们生成一个默认构造方法,它没有参数,也没有执行语句

二、多构建方法

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Person(String name) {
        this.name = name;
        this.age = 12;
    }

    public Person() {
    }
}

如果调用new Person("Xiao Ming", 20);,会自动匹配到构造方法public Person(String, int)。

如果调用new Person("Xiao Ming");,会自动匹配到构造方法public Person(String)。

如果调用new Person();,会自动匹配到构造方法public Person()。

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Person(String name) {
        this(name, 18); // 调用另一个构造方法Person(String, int)
    }

    public Person() {
        this("Unnamed"); // 调用另一个构造方法Person(String)
    }
}

一个构造方法可以调用其他构造方法,这样做的目的是便于代码复用。调用其他构造方法的语法是this(…):

相关文章

  • Java-基础-构造方法

    一、构造方法 自定义了一个构造方法,那么,编译器就不再自动创建默认构造方法: 不是任何class都有构造方法?是的...

  • Hello Java

    目录 Java-基础(1/6) Java-对象(2/6) Java-核心库类 上(3/6) Java-核心库类下(...

  • Java- 对象和类

    Java- 对象和类 类是对象的模板。它定义对象的属性,并提供创建对象的构造方法以及对对象进行操作的方法。 类也...

  • java-类的构造方法

    构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。每当实例化一个对象时,类会自动调用构造方法。构造方...

  • python包学习——flask

    基础 构造 URL HTTP方法 模板渲染

  • JAVA-(构造方法、setter/getter方法、this指

    心得体会 似乎自己真的不够努力,因为不够努力,所以上课不能很好的吸收当天的知识,java对我来说真的挺难的,好像至...

  • Java-基础-方法重载

    方法重载 在一个类中,我们可以定义多个方法。如果有一系列方法,它们的功能都是类似的,只有参数有所不同,那么,可以把...

  • 关于构造函数Array属性和方法总结

    @(JavaScript基础) 关于构造函数Array属性和方法总结 构造函数Array属性: Array.len...

  • Java 基础:构造方法

    目录:一、 概述二、 构造方法的重载三、 类的初始化过程四、this 关键字五、子父类中的构造方法六、 super...

  • Java基础-构造方法

    1作用:用于对对象的数据进行初始化 2格式: A:方法名和类名相同 B:没有返回值类型,连void都不能有 ...

网友评论

      本文标题:Java-基础-构造方法

      本文链接:https://www.haomeiwen.com/subject/iulmjctx.html