首页技术文章正文

Java中如何创建和使用对象?

更新时间:2022-04-01 来源:黑马程序员 浏览量:

要想使用一个类则必须要有对象。在Java程序中可以使用new关键字创建对象,具体格式如下:

类名对象名称= null;
对象名称=new 类名();

上述格式中,创建对象分为声明对象和实例化对象两步,也可以直接通过下面的方式创建对象,具体格式如下:

类名对象名称= new 类名();

例如,创建Student类的实例对象,示例代码如下:

Studentstu= newStudent();

上述代码中,newStudent()用于创建Student类的一个实例对象,Studentstu则是声明了一个Student类型的变量stu。运算符“=”将新创建的Student对象地址赋值给变量stu,变量stu引用的对象简称为stu对象。
了解了对象的创建之后,就可以使用类创建对象了,示例代码如下:

class Student {
    String name; // 声明姓名属性
    void read() {
        System.out.println("大家好,我是" + name + ",我在看书!");
    }
}
public class Test {
    public static void main(String[] args[]) {
        Student stu = new Student(); //创建并实例化对象
    }
}

上述代码在main()方法中实例化了一个Student对象,对象名称为stu。使用new关键字创建的对象是在堆内存分配空间。stu对象的内存分配如图3-2所示。

stu对象的内存分配

图3-2stu对象的内存分配

从图3-2中可以看出,对象名称stu保存在栈内存中,而对象的属性信息则保存在对应的堆内存之中。

创建Student对象后,可以使用对象访问类中的某个属性或方法,对象属性和方法的访问通过“.”运算符实现,具体格式如下:

对象名称.属性名
对象名称.方法名

接下来通过一个案例学习对象属性和方法的访问,如文件3-1所示。

文件3-1Example01.java

class Student {
    String name; // 声明姓名属性
    void read() {
        System.out.println("大家好,我是" + name);
    }
}
class Example01 {
    public static void main(String[] args) {
        Student stu1 = new Student(); // 创建第一个Student对象
        Student stu2 = new Student(); // 创建第二个Student对象
        stu1.name = "小明"; // 为stu1对象的name属性赋值
        stu1.read(); // 调用对象的方法
        stu2.name = "小华";
        stu2.read();
    }
}

文件3-1的运行结果如图3-3所示。

创建和使用对象

图3-3文件3-1的运行结果

在文件3-1中,第2~5行代码声明了一个String类型的name属性和一个read()方法,第9~10行代码创建了stu1对象和stu2对象;第11行代码为stu1对象name属性赋值;第12行代码通过stu1对象调用read()方法。

第13行代码为stu2对象name属性赋值;第14行代码通过stu2对象调用read()方法。从图3-3所示的运行结果可以看出,stu1对象和stu2对象在调用read()方法时,打印的name值不相同。这是因为stu1对象和stu2对象是两个完全独立的个体,它们分别拥有各自的name属性,对stu1对象的name属性进行赋值并不会影响到stu2对象name属性的值。为stu1对象和stu2对象中的属性赋值后,stu1对象和stu2对象的内存变化如图3-4所示。

stu1对象和stu2对象中的属性赋值后的内存变化

图3-4stu1对象和stu2对象中的属性赋值后的内存变化

从图3-4可以看出,程序分别实例化了两个Student对象stu1和stu2,分别指向各自的堆内存空间。




猜你喜欢:

面向对象中类和对象的定义是什么?

Java中的垃圾回收机制是什么?哪些对象会被回收?

Java创建实例对象

jvm如何判断对象已死?

黑马程序员Java高级工程师培训

分享到:
在线咨询 我要报名
和我们在线交谈!