第 12 章 类的对象(随笔)

本文介绍了Java中如何通过new操作符创建对象,包括对对象引用的理解,如何使用对象的属性和方法。同时,文章讨论了对象的生命周期,强调了垃圾回收机制在回收对象内存中的作用,以及finalize()方法在对象销毁过程中的潜在用途。
摘要由CSDN通过智能技术生成

对象都是由类抽象出来的,对象可以操作类的属性和方法。

1.对象的创建

Java语言中使用new操作符调用构造方法来创建对象。

语法:

Test test = new Test();   //创建一个test对象

Test test = new Test("t");

特殊例子:

String str = "abc";

str也是一个对象,虽然代码中没使用new关键字实例化,但Java虚拟机在创建字符串的同时,也创建了字符串的匿名对象给str引用。

2.对象的引用

下例的book是Book类的一个对象,严格来说book应该是Book类对象的一个引用,真正的对象实体是new Book()。

3.对象的使用

当用户使用new创建了对象之后,可以使用对象.类成员来获取对象的属性和行为。对象的属性和行为在类中是通过类成员变量和成员方法的形式来表示的,所以当对象被实例化之后,也获得了相应的属性和行为。

来看代码例子:

public class Book {
    int i = 20;           
    public void call(){
        System.out.println("调用call方法");
        for (i=0;i<3;i++){
            System.out.println(i+ "");
            if (i==2){
                System.out.println("\n");
            }
        }
    }

    public static void main(String[] args){
        Book t1 = new Book();   //创建第一个对象
        Book t2 = new Book();   //创建第二个对象

        t2.i=99;
        //使用第一个对象调用类成员变量
        System.out.println("第一个实例对象调用变量i的结果:" +t1.i++);
        t1.call();                    //使用第一个对象调用类成员方法
        
        //使用第二个对象调用类成员变量
        System.out.println("第二个实例对象调用变量i的结果:" +t2.i++);
        t2.call();

    }
}

结果:
第一个实例对象调用变量i的结果:20
调用call方法
0
1
2

第二个实例对象调用变量i的结果:99
调用call方法
0
1
2

由以上代码可以看出,两个对象的产生是相互独立的,改变t2的i值,并不会影响t1的i值。

4.对象的销毁

每个对象都有生命周期,当对象的生命周期结束时,分配给对象的内存地址将会被回收。在Java中有一套完整的垃圾回收机制,用户不用担心废弃的对象占用内存,垃圾回收器将回收无用但占用内存的资源。

 垃圾回收器只能回收那些由new操作符创建的对象,非new操作符可能不会被垃圾回收回收机制所识别,Java中提供了finalize()方法来解决这个问题,

注意:垃圾回收或finalize()方法不保证一定会发生,如Java虚拟机内存消‘耗殆尽时,它是不会执行垃圾回收的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值