day05面向对象第1天学习(总结)

2、basic

3、this指针

4、construction

构造方法的作用

构造方法是创建对象的最后一步,是帮助我们给成员变量赋值的。这个方法不是我们自己调用,而是jvm自动调用的【核心理解这一点就好了】

public class Demo {
    public static void main(String[] args) {
        
        Teacher t4 = new Teacher("语文", 30);//我想创建对象的过程中,我就直接赋值
        t4.print();//成员方法print
        /*System.out.println(t4.age);
        System.out.println(t4.course);*/

        /*//这么多构造方法,怎么知道调用哪一个?
        Teacher t3 = new Teacher(16);
        System.out.println(t3.age);         //16
        System.out.println(t3.course);      //null
        */
    }
}
class Teacher {
    //定义成员变量
    String course;//课程
    int age;

    //定义Teacher的构造方法
    public Teacher(){

    }
                   //定义有参的构造方法
    public Teacher(String course, int age) {
        //赋值,把方法传入的局部变量 赋值给当前对象的成员变量
        //this.course代表当前对象的course成员变量
        //后面的course是方法传入的参数 局部变量
       /* this.course = course;
        this.age = age;*/

       //使用this关键字调用后面两个单参数的构造方法
        //Call to 'this()' must be first statement in constructor body
        this(course);
        this.age = age;
        //this(age);   //error
    }
                   //定义一个单参数的构造方法
    public Teacher(String course){
        //赋值,把方法传入的局部变量 赋值给当前对象的成员变量
        this.course = course;
    }
                   //定义一个单参数的构造方法
    public Teacher(int age){
        //赋值,把方法传入的局部变量 赋值给当前对象的成员变量
        this.age = age;
    }
    
   //定义一个成员方法
   public void print(){
       System.out.println(this.course);
       System.out.println(this.age);
   }
}
构造方法(构造器)的一些重要细节
  1. 当一个类中没有显式的定义构造方法,这个时候JVM会默认提供一个无参构造方法
  2. 当一个类中显式的定义了有参构造方法,那么就不会提供默认无参构造方法了 Generate后直接选择生成多个构造方法 (mac系统没找见INSERT键)

定义了一个有参构造后,养成好习惯,必须要给这个类添加上无参构造
.
后面框架当中,有些框架会去自动调用无参构造创建对象

  1. 构造方法也是方法,既然是方法,可以方法重载
  2. 构造器当中也可以使用this关键字

1、可以调用当前类的别的构造方法 语法是this(参数列表)
特别注意:使用this调用别的构造方法,该this必须在构造方法的第一行,所以只能用一个this
2、可以使用this关键字调用当前对象的成员变量和成员方法
.
注意:最好的情况下,就让构造方法专注于创建对象,其他的事情不要管

  1. 构造方法不是普通方法,更不是成员方法,这个方法不是给程序员调用的,而是给jvm调用的后面有反射,相当于可以间接使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lacrimosa&L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值