面向对象05:构造器详解

在.class文件中是有无参构造的,虽然在.java文件里没有生成无参构造

Person.java

package com.oop.Demo02;

//java---> class
public class Person {
    String name;

    //实例化初始值
    //1.使用new关键字,本质是在调用构造器
    //2.用来初始化值
    public Person() {
        this.name = "qwe";    // 对应 Person asd = new Person(); 
    }

    //有参构造   一旦定义了有参构造,无参构造就必须显示定义
    public Person(String name) {
        this.name=name;  // 对应  Person asd = new Person("qwe");
    }
}

Application.java ,调用application.java

package com.oop.Demo02;

public class Application {

    public static void main(String[] args) {

        //new 实例化了一个对象
        Person asd = new Person();

        System.out.println(asd.name);

    }
}

输出:

qwe

进程已结束,退出代码 0
使用alt + insert:
package com.oop.Demo02;

//java---> class
public class Person {
    String name;
    int age;

//alt + insert

    public Person() {
    }

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

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

/*
    public static void main(String[] args) {

        //new 实例化了一个对象
        Person asd = new Person();

        System.out.println(asd.name);

    }

    /*
构造器:
   1.和类名相同
   2.没有返回值
作用:
	1.new 本质在调用构造方法
 	2.初始化对象的值
 注意点:
   1.定义有参构造之后,如果使用无参构造,显示的(因为在class文件里是有无参构造的)定义一个无参的构造

   生成构造器快捷键:alt+insert.

   this. (当前类的)= 这个值是参数传进来的值
 */


生成构造器快捷键:

alt+insert

构造器:
  /*
构造器:
   1.和类名相同
   2.没有返回值
 作用:
 1.new 本质在调用构造方法
 2.初始化对象的值
 注意点:
   1定义有参构造之后,如果使用无参构造,显示的(因为在class文件里是有无参构造的)定义一个无参的构造

   生成构造器快捷键:alt+insert.

   this. (当前类的)= 这个值是参数传进来的值
 */
posted @ 2020-08-09 12:27  nkndlawn  阅读(159)  评论(0)    收藏  举报