A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘一锋 黑马帝   /  2011-10-9 17:52  /  2495 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

你理解的完全正确,javaSE中很多类都是这样设计的。当一个类没有构造方法时,那么就说明肯定这个类是不能new对象的,如果可以创建该类的对象的话则肯定有一个static的方法来创建对象(因为非static的方法必须由对象来调用,而这个类又没有构造方法,不能new对象),当这个类调用static的创建对象的方法就可以使用创建出来的对象取调用非static的方法了。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
Runtime:
该类中并没有提供构造函数,说明不能new对象,那么会直接想到该类中的方法都是静态的,
发现该类中还有非静态方法,说明该类肯定会提供一个方法获取本类对象,而且该方法时静态的,并且返回值类型是本类类型。
理解一下这句话,我这样理解对不对?

没有构造函数,那么就不能实例化,也就是不能new对象,之所以会想到该类中的方法都是静态的是因为静态方法随着类的加载而加载,就可以通过静态方法实例化,后来发现该类中还有非静态方法,提供一个方法获取本类对象,我这样理解对不对,反正觉得挺不靠谱的,谁帮忙给解释一下

评分

参与人数 1技术分 +1 黑马币 +1 收起 理由
admin + 1 + 1

查看全部评分

3 个回复

倒序浏览
每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。
应用程序不能创建自己的 Runtime 类实例
这说明每一个应用程序都有自己独一无二的Runtime实例,类似于Class对象一样,它们没有构造方法或者说它们的构造方法是私有的。
静态方法getRuntime(),返回与当前 Java 应用程序相关的运行时对象。Runtime 类的大多数方法是实例方法,并且必须根据当前的运行时对象对其进行调用。
Runtime类与Class类某些地方是相似的,比如说它们都不能自己调用一个构造方法实例化一个对象,考虑的时候想到有个Class也就不觉得奇怪了

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
一个程序对应一个Runtime,
所以呢,这个Runtime 应该是一个 单例, 通过静态方法返回自身对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马