Java(匿名对象和命名对象)——进一步了解对象

1.前面已知,想要抽象出一个对象,首先要写好它的模板——类

但是存在一个问题,我们想创建一个对象,要用构造方法去初始化这个对象。但是如果我们只想在某个时候只使用这个对象一次,之后就不要用了,那是不是这个对象就会占我们的内存,就像我们借走别人的笔(这个对象),之后要还给别人。所以就有了匿名对象这个存在,来帮我们解决这个问题。

2.代码展示——(运用匿名对象和命名对象)明白他们的作用。

package stu.zuo.er;

class Phone{
    public Phone(){   }//空构造方法,还有切记不能为构造方法指定类型
    public String tell(String friend){//成员方法
        return friend;
    }

}
class Person{
    String name;//数据成员
    int age;
    public Person(){  }//空构造方法
    Person(String name1,int age1){//构造方法
        name = name1;
        age = age1;//初始化对象
    }
    public void telling(Phone phone,String poem,String friend,String firstpoem){//将对象作为参数
        System.out.println(name+"告诉"+phone.tell(friend)+poem+"的第一句诗");//调用另一个类的对象的成员方法
        System.out.println(firstpoem);
    }

}
public class Anonymous {
    public static void main(String[] args) {
        Person lb = new Person("李白",55);
        lb.telling(new Phone(),"蜀道难","Tom","君不见黄河之水天上来");//创建匿名对象——Phone
        //Phone huawei = new Phone();//命名对象——对象名为huawei
        //lb.telling(huawei,"蜀道难");//调用成员方法
    }
}

代码结果——
李白告诉Tom蜀道难的第一句诗
君不见黄河之水天上来

3.分析

在代码中我创建了Phone类和Person类,并写好了数据成员与成员方法。

最后在自己的主方法中先初始化李白,然后创建了匿名对象,使它作为Person类中telling成员方法中的参数。

之后在下一行注释中使用命名对象的方法作为该参数。

从中对比我们会发现命名对象明显要申明然后创建对象,这时Java就会在我们的堆内存中开辟空间存并储对象内容,然后在栈内存中保留对象名。这一步在这里肯定就减少了开发效率,而匿名对象则只会在堆内存开辟空间,所以大大提高了开发效率。

4.明白了匿名对象和命名对象,我们之后就可以更好的设计我们的程序,来优化它们!

接下来是学习Java中的重点,关键字了!!!

  • 41
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值