| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 334 人关注过本帖
标题:询问一个基础知识,声明和new存在必然联系么?
只看楼主 加入收藏
邹阳
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:122
专家分:402
注 册:2015-10-8
结帖率:77.78%
  已结贴   问题点数:20  回复次数:4   
询问一个基础知识,声明和new存在必然联系么?
  最近在阅读一些java代码时,发现在创建实例对象时,有些代码没有采用“类名 对象名 = new 类名();”的方式,而是直接“new 类名();”,所以,我想问一下这两种写法之间具体有什么区别吗?
搜索更多相关主题的帖子: 联系 存在 new 询问 类名 
2019-11-09 10:20
pingc
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:3
专家分:14
注 册:2019-9-20
  得分:7 
直接new 的叫匿名对象,没有赋值语句和名字。
如果只用到一次,就可以使用匿名对象,也就是你说的直接new。
比如只打印一次随机数
System.out.println(new Random().nextInt(10));
如果要打印多次,创建对象就方便很多。
Random i = new Random();
System.out.println(i.nextInt(10));
System.out.println(i.nextInt(10));
System.out.println(i.nextInt(10));
2019-11-11 13:52
唐宋元明清乀
Rank: 2
等 级:论坛游民
帖 子:5
专家分:27
注 册:2019-11-14
  得分:7 
不好意思我不知道new关键字可以直接new 类名,我只知道new关键字可以创建对象,对类进行实例化和初始化的作用,new的过程中,Jvm会给后面的对象分配一个内存空间,也就是堆内存,
2019-11-14 22:38
唐宋元明清乀
Rank: 2
等 级:论坛游民
帖 子:5
专家分:27
注 册:2019-11-14
  得分:0 
public class DemoRun {
        
    public static void main(String[] args) {
        
        Zi zi = new Zi();
        zi.run();
        System.out.println("============");
        new tesgt(1);
        
        
    }
   
}





public class tesgt {
   
    public tesgt(int m) {
        System.out.println("tesgt构造器运行成功");
    }
   
    public void test() {
        System.out.println("test方法运行成功");
    }

}






区别就在于:new  类名()    只可以调用类本身的构造器,即本类的由系统分配的构造器的方法体任何修改,并且无法调用该类的任何方法。
而 类名 对象名 = new 类名(); 可以创建一个该类的实例,可以用该类的任何方法。
2019-11-14 22:49
纵横阳仔
Rank: 7Rank: 7Rank: 7
来 自:自学成才的火星人儿
等 级:贵宾
威 望:26
帖 子:145
专家分:684
注 册:2016-10-20
  得分:7 
new tesgt(1).text()
2019-11-15 11:39
快速回复:询问一个基础知识,声明和new存在必然联系么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.071584 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved