java学习笔记11 (构造方法 this深探)

在开发中,经常需要在创建对象的同事明确对象对的属性值,比如一个person对象创建的时候就应该有name和age 等属性,那么如何做到在创建对象的同时给对象的属性值初始化值呢?

这里介绍构造方法

1 构造方法没有返回值类型, 更没有返回值,因为他是构建对象的,对象创建完,方法就执行结束

2构造方法名必须和类型保持一致

3 构造方法什么时候运行呢?  在创建对象的时候自动执行,而且只执行一次

定义示例

public class  Person{
    public  person(){
        System.out.println("我是一个空参构造方法");     
    }          
} 

运行:

public class test(){
   public static ovid main(String [] args){
        Person  p = new Person();  
}
//输出:我是一个空参构造方法

构造方法是每个类的必须内容  写或者不写都存在

编译器在编译的时候会检测有没有构造方法 如果有,执行。没有,自动创建一个空参构造

构造方法的赋值

public class  Person{
    private String name;
    private int age;
    public Person(String name,int age){
        this.name=name;
        this.age=age;
    }
}
public class Test{
    public static void main(String[] args){
        Person p = new Person("张三",18);
    }
}

 

this  在构造方法中的调用

public class Person {
    private String name;
    private int age;

    public Person() {
        //this()是调用其他的构造方法
        //this()必须写在构造方法第一行
        this("张三", 20);
    }

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





public class Test {
    public static void main(String[] args) {
        Person p1 = new Person("张三", 18);
        Person p2 = new Person();
    }
}
//输出: 张三 18
// 张三 20

this关键字给成员变量进行了赋值

原文地址:https://www.cnblogs.com/bxl-1016/p/10689803.html