ITPub博客

首页 > 应用开发 > Java > Java之路( 1 )----帮你完成HelloWorld (转)

Java之路( 1 )----帮你完成HelloWorld (转)

原创 Java 作者:worldblog 时间:2007-12-13 07:50:01 0 删除 编辑
Java之路( 1 )----帮你完成HelloWorld (转)[@more@]

Java之路----帮你完成HelloWorldXML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />


  转眼在csdn已经满月了,看到好多初学java的朋友会有关于错误提示Noclassdeffounderror………这样的问题,想到自己初学的时候也曾被这种郁闷的问题弄得焦头烂额,很多问题是不会在教科书里面有讲的,因为,教科书不会捕捉我们的“异常“:)。于是就整理了一下我见到的朋友们提出的问题,希望能对后来者有所帮助。


1.Java开发中系统环境变量设置(jdk):


工欲善其事,比先利其器。环境变量这一关,大家是必须要过的,下面是各种操作系统里面的环境设定。


win2000/winxp中:


右键我的电脑à属性à高级à环境环境变量


classpath=.;jdk安装目lib


path=jdk安装目录bin


注意:一定不可忽略“.”,他表示的是我们的当前工作目录,没有他,会有很多麻烦出现的。


winme中:


“开始à程序à附件à系统工具à系统信息“中,选择工具à系统配置实用程序à环境


设定:


classpath=.;jdk安装目lib


path=jdk安装目录bin


win98中:


修改autocexe.bat 就是修改自动批处理文件


添加:


set classpath=.;jdk安装目lib


set path=jdk安装目录bin;%path%


Linux中:


假设JDK安装在/home/jdk1.4.0/下,打开/etc/profile,在其中加入:


PATH="/home/jdk1.4.0/bin:$PATH"


CLASSPATH=.:/home/jdk1.4.0/jre/lib/rt.jar:/home/jdk1.4.0/lib/tools.jar


JAVA_HOME=/home/jdk1.4.0


export PATH CLASSPATH JAVA_HOME


2.设定好了我们的工作环境后,让我们来看一看我们的HelloWorld程序吧。


public Class HelloWorld {

  public void HelloWorld(){

  //构造函数

}

  public static void main ( String args[] )

  {

      system.out.println ("HelloWorld!");

  }

}


上面的程序有三处错误,看到了么?不要笑哦,这种错误确实会发生的。下面是把它改正过后的代码:


public class HelloWorld {

  public HelloWorld(){

  //构造函数

}

  public static void main ( String args[] )

  {

      System.out.println ("HelloWorld!");

  }

}


class和System的大小写,这个问题虽然一般不会出现,但大小写问题在整个java世界里确实是值得重视的一个基本问题,所以我把它写出来个大家提个醒,只要大家不用为这样的错误费时费力,大可认为我只是为了博您一笑。构造函数本来对HelloWorld来说是可有可无的,但是我有意添加这个构造函数,原因有两个:第一,构造函数没有返回值,大家都知道,就算是初学大概也会对此很不屑,1+1=2还拿出来干嘛。但是确实有很多初学者会返回一个void,void也是一种返回值,这个概念就是我的第一个目的了,有些初学者会认为void就是没有返回值,错!!!第二,你应该为你的类编写默认构造函数,就算他什么也不做,只起到和系统给你的默认构造函数一样的作用。当你不编写默认构造函数的时候,系统会给你一个,但是前提是你这个类里没有任何构造函数。忽略这个问题,可能会让你的继承体系出现问题。(可能这里说这些太早,所以教材上不会说,但这些东西,总是先记住的好,免得载大跟头)。(顺便说一句构造函数也可以是protected和private的,不是一定要public,别怪我蘑记^^。确实有很多人认为构造函数一定要public的,错!!!)。


3程序没问题,环境变量没问题,还是会出问题:)看看我们的执行要注意什么吧


不带包的编译:


javac 类名.java


java 类名


不带包的编译只要注意大小写,一般应该不会有问题了。


javac HelloWorld.java 不要写成 javac helloworld.java


java HelloWorld 不要写成java HelloWorld.class


另外,一般此时大家的工作目录和HelloWorld.java所在目录是相同的,这就是最开始环境变量”.”的作用了。


带包的编译:


javac -d  包的父目录 类名.java


java  包名.类名


这里要注意的是大家的工作目录要与包的父目录所在目录相同。

 

还有另外一个问题,大家先看一下问题的提出(跟HelloWorld关系虽然不大,但是问题也很有代表性)

我的包如下:

package c05;

public class PackagedClass{

  public PackagedClass(){

    System.out.println("Creating a packaged class");

  }

  public static void main(String[] args){}

}

 

程序如下:

//package c05;

import c05.PackagedClass;//如果换成import c05.*;就报错

 

public class Foreign{

  public static void main(String[] args){

    PackagedClass pc = new PackagedClass();

}

}

PackagedClass不是c05的子包阿,就是一个类阿,为什么用* 不行那?

 

这是论坛里一个朋友的问题。很郁闷吧:)

 

这里因为要import c05.PackagedClass;的类和c05.PackagedClass;在同一个目录内,就会出现上

 

面的问题,两个类不要放同一个地方了,赫赫,大家自己解决吧^^.希望这篇文章会对初学的你有

 

所帮助,如果你遇到过跟”HelloWorld”有关的问题这里没有提及,也希望帮忙填补一下:)。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-992407/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    6241
  • 访问量
    2411234