创建与初始化对象

创建与初始化对象

使用new关键字创建对象

使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。

类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:

  • 1.必须和类的名字相同

    1. 必须没有返回类型,也不能写void

    构造器必须要掌握

示例1:
package oop.demo02;

// java ---> class
public class Person {

    // 一个类即使什么都不写,它也会存在一个方法
    // 显式的定义构造器
    String name;
    int age;

    // alt + insert,(或者右键选择Generate)
    // 然后选择constuctor,,选择多个按住Ctrl键,然后点击OK就能生成有参构造,
    // 点击Select none就能生成无参构造

    // 无参构造
    // 1.使用new关键字,本质是在调用构造器
    // 2.用来初始化值
    public Person(){

    }

    // 有参构造:一旦定义了有参构造,无参就必须显式定义
    public Person(String name){
        this.name = name;
    }

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

/*

    public static void main(String[] args) {

        // new 实例化了一个对象
        Person person = new Person("llh",21);

        System.out.println(person.name);
    }

    构造器:
    1. 和类名相同
    2. 没有返回值
    作用:
    1. new 本质在调用构造方法
    2. 初始化对象的值
    注意点:
    1. 定义有参构造之后,如果想使用无参构造,显式的定义一个无参的构造

    Alt + Insert 或 右键选择Generate
    this. =

 */

创建对象内存分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Esifdzxb-1602553967486)(file:///C:\Users\llhnb\Documents\Tencent Files\3038971063\Image\C2C\Image1\LY73HWQH20%QX{C94_I_ZAC.png)]

示例2:
package oop.demo03;

public class Pet {

    public String name; // name:null
    public int age;  //age:0

    // 默认有一个无参构造

    public void shout(){
        System.out.println("叫了一声");
    }

}

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

        Pet dog = new Pet();

        dog.name = "旺财";
        dog.age = 3;
        dog.shout();

        System.out.println(dog.name);
        System.out.println(dog.age);

        Pet cat = new Pet();

    }
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值