默认构造方法和细节

       在没有学习构造方法之前,我们也可以通过new关键字创建对象,并调用相应的方法,同时在描述事物时也没有写构造方法。这是为什么呢?

       在之前学习的过程中,描述事物时,并没有显示指定构造方法,当在编译Java文件时,编译器会自动给class文件中添加默认的构造方法。如果在描述类时,我们显示指定了构造方法,那么,当在编译Java源文件时,编译器就不会再给class文件中添加默认构造方法。

class  Person {

    //如果没有显示指定构造方法,编译会在编译时自动添加默认的构造方法

    //Person(){}  //空参数的默认构造方法

}

 

       当在描述事物时,要不要在类中写构造方法呢?这时要根据描述事物的特点来确定,当描述的事物在创建其对象时就要明确属性的值,这时就需要在定义类的时候书写带参数的构造方法。若创建对象时不需要明确具体的数据,这时可以不用书写构造方法(不书写也有默认的构造方法)。

构造方法的细节:

  1. 一个类中可以有多个构造方法,多个构造方法是以重载的形式存在的
  2. 构造方法是可以被private修饰的,作用:其他程序无法创建该类的对象。

class Person {

    private int age;

    private String name;

 

    // 私有无参数的构造方法,即外界不能通过new Person();语句创建本类对象

    private Person() {

    }

 

    // 多个构造方法是以重载的形式存在

    Person(int a) {

        age = a;

    }

 

    Person(String nm, int a) {

        name = nm;

        age = a;

    }

}

发布了120 篇原创文章 · 获赞 5 · 访问量 2643

猜你喜欢

转载自blog.csdn.net/weixin_41874888/article/details/104025490