答:return关键字的作用,是用来结束当前方法的调用的。那么我们说,每一个应用程序都有一个入口,那就是main方法。当main方法执行完成之后,程序也就执行结束了。在看return关键字的功能定义,是用来结束当前方法的调用的。那么说,如果看main方法中执行return,则main方法会结束跳出,并结束应用程序。(这...
菜鸟问:命令行怎么编译java程序?
首先你要确定你的电脑是否配置了java的jdk
以及classpath,home,path的路径
再试试
编译时先要将dos路径引导至你的java文件的路径下
再试试,应该就可以了
最重要的是java的JDK环境的配置2011-01-02
javac和java命令,需要配置环境变量。2011-01-02
1、args.length != 1?
答:首先要注意的是args的参数类型,是String[]数组。那么数组的length字段,表示的该数组的个数。平常在main方法里看到的static void main(String[] args)中的args,在程序中就是表示在命令行中的参数个数。例如
c:\>MyProject arg1
这里的arg1就是main方法中args参数中的一个值。
2、return关键字?
答:return关键字的作用,是用来结束当前方法的调用的。那么我们说,每一个应用程序都有一个入口,那就是main方法。当main方法执行完成之后,程序也就执行结束了。在看return关键字的功能定义,是用来结束当前方法的调用的。那么说,如果看main方法中执行return,则main方法会结束跳出,并结束应用程序。(这里有个特例,就是在方法被结束之前,会先执行finally块中的代码)。
如果这里传2个参数没有影响的。
3、此处的if 和try,老师讲应该是if else的关系,但是他没有写else,问此处会不会有影响,我总有一种感觉,认为它是顺序关系,而不是选择关系。此处的else怎么不写,呵呵
答:你的老师这样讲,道理是对的,但对于初学者来说,听起来就会有很多误区。还是应当按照实际编写的代码来理解。
没错,这里的关系确实可以使用if else来解释。因为如果if条件执行的话,就会执行return,上面说了return关键字的作用。而如果if条件没有执行的话,try块中的代码就会被执行,转译成if else就是
if (args.length != 1) {
return;
}
else{
try {
Class c = Class.forName(args[0]);
Point pt = (Point) c.newInstance();
pt.output();
} catch (Exception e) {
e.printStackTrace();
}
}
简单的说,就是加上了一个else块。
4、
答:这个问题超级好,看来你是学习的非常认真的一个人。
为什么要使用Class类的newInstance方法来创建对象呢?直接使用new关键字来创建对象不是更方便么。就也是1楼说的,这是JAVA反射机制的一种实现。
最简单的理解反射机制就是:从文件中创建对象。大体讲一下这个机制的实现。
一般常用的两个类:Class类和Property类。Property类用来加载文件中的类名,记住是类名,然后由Class类的forName方法加载类名后返回Class对象,再使用newInstance方法返回对象(将Object类型进行强行转换),就可以得到我们想要的对象了。
这样做的好处是,我们不用在使用new关键字来创建对象,因为使用new关键字来创建对象时,会增加我们程序中,层与层之间的耦合度,也就是增加了我们修改代码的力度。(这点记住,以后会深有体会的)
所以,对于这个问题,老师让你们这么做,就是想让你们能够先了解一下这种实现机制,等真正讲到反射的时候,就不会抓瞎了。:-)
5、这里如果真传递的是Point作为参数的话,那么在执行line pt=(line)c.newInstance(); 就会抛出ClassCastException异常,因为你传递的类名,在被实例化后,不能强制转换为其他类型的类。你能确定这句不会出现异常么?2011-01-03
没有配置环境变量
在系统变量的 path里面 把 jdk的 根目录的 /bin
这个目录下 放着 那些 常用的 命令 javac java 等等
你配置过后 就可以在任意地方 编译 运行了2011-01-02
先敲c:,回车
然后用cd命令进入到你的程序所在的路径 javac Welcome.java
执行时是 Java Welcome.java2011-01-02