Math.random()为什么可以直接使用??
public class VowellsAndConsonants
{
public static void main (String [] args)
{
for (int i = 0;i < 100 ; i++ )
{
char c = (char) (Math.random () * 26 + 'a');
System.out.print (c + ":");
switch (c)
{
case 'a':
case 'e':
case 'i':
System.out.println ("vowel");
break;
case 'y':
case 'w':
System.out.println ("Sometimes a vowel");
break;
default:
System.out.println ("consonant");
}
}
}
};
这个例子中并没有import类进来,为什么Math.random()就可以直接使用,Math这个东西应该是一个class把? 请高手解释一下
问题点数:0、回复次数:9Top
1 楼catblue(佛家说:一粒沙中看世界。)回复于 2004-12-03 15:49:40 得分 0
Class Math 在lang包里,java 会默认导入 lang包Top
2 楼narilee(Unchecked Exception,Don't Catch Me!)回复于 2004-12-03 15:51:21 得分 0
support楼上的Top
3 楼liuguangliang(小刀刘)回复于 2004-12-03 15:52:25 得分 0
因为Math 类属于java.lang 这个包。lang包中的类是直接加进去的,不用import了。也只有这个包才可以这样。Top
4 楼loverisyour(我是民工又咋的,不能搞开发啊!)回复于 2004-12-03 15:53:25 得分 0
是啊,检分来拉Top
5 楼tom2005(随海奔跑)回复于 2004-12-03 15:56:19 得分 0
random()是个静态方法
public static double random()
Top
6 楼liaoqingpeng(棋快一步)回复于 2004-12-03 16:01:58 得分 0
我觉得楼主这个例子有两个问题要解释:
楼上“catblue(limiaomiao) ”说的是其一,为什么不用“import java.lang.Math”;
其二,Math确实是一个类,random()是该类的一个成员函数,那为什么Math类在这里
没有用new创建对象就直接使用“Math.random()”呢,因为“public static double random()”
该方法是“static”,可以不用创建对象就直接用类名引用。
Top
7 楼liaoqingpeng(棋快一步)回复于 2004-12-03 16:02:51 得分 0
呵呵,这一下大家好快哟Top
8 楼classjava(原始野人)回复于 2004-12-03 16:04:34 得分 0
Math.random()
静态方法直接可以用类名调用Top
9 楼fast_time(fast_time)回复于 2004-12-03 16:14:39 得分 0
呵呵,好快呀Top




