Java对象的创建与初始化以及构造器

类与对象的关系

  • 类是一种抽象的数据类型,是对某类食物的整体定义及描述,是一个概念体,比如cat类,person类,dog类。

  • 对象属于抽象的概念的具体实例,例如李二是person类的一个对象,一只xxx的波斯猫是cat类的一个对象,一只xxx的田园犬就是dog类的一个对象。这些对象可以体现出具体的特点和功能,并非抽象的概念题。

创建与初始化对象

  • 使用new 关键字创建对象,可以分配内存空间,给对象设置默认的初始化值,以及对类中构造器的调用。

  • 实例:

    • Student类:
//一个类里面只有属性的方法两样东西
public class Student {
    //属性:也即是字段,变量。
    String name;
    int age;
    //方法
    public void study(){
        System.out.println(this.name+"在学习");//当前这个里面的name字段
    }
}
  • 带有main方法的主类创建和调用Student类的对象:
//一个项目里只应存在一个main方法
public class Application {
    public static void main(String[] args) {
        //抽象类实例化,同时返回一个自己的对象
        //student对象就是一个Student类的具体实例
        Student student = new Student();
        Student xiaobai = new Student();
        System.out.println(xiaobai.name);  //null
        System.out.println(xiaobai.age);  //0
        xiaobai.name="小白";
        xiaobai.age=3;
        System.out.println(xiaobai.name);  //小白
        System.out.println(xiaobai.age);  //3
        xiaobai.study();
    }
}

构造器

  • 构造器:类中的构造器又称构造方法,进行创建对象时必须要调用,有如下两个特点:

    • 1.和类的名字必须相同。
    • 2.必须没有返回类型,也不能写void。
  • 构造器的作用:

    • 1.使用new关键字时,本质上是在调用构造器。
    • 2.构造器一般用来初始化值。
  • 定义了有参构造后,如果想使用无参构造,必须显式定义一个无参构造器,而不能用编译生成的。

有参无参构造器实例:

public class Person {
    //类里面即使什么也不写,里面也会存在一个同名的方法,也即是构造器。
    //从生成的class文件里可以看到
    String name;
    //显示的定义构造器
    public Person(){
        //无参构造器,可以用来实例化对象,赋初始值
        //this.name="renmin";
    }
    public Person(String name){
        this.name=name;
        //一旦定义了有参构造,无参必须显示定义。意为原本自动生成的
        //同名方法不见了,如果不在java文件中自己写出来,那么主类进行调用时
        //便会出错。
        /*
        有参构造器。此处的this.name表示的是对象中本来就有的name字段
        ,也即是构造器外的String name。后面的name表示的是参数中传递进来的name
        ,也就是构造器中的参数String name。
         */
    }
}

主类调用实例:

//一个项目里只应存在一个main方法
public class Application {
    public static void main(String[] args) {
        // new 实例化了一个对象
        Person person = new Person("jiang");
        System.out.println(person.name);
    }
}
  • alt+insert :生成构造器,选择constructer。也可以在下面选无参构造器。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值