Board logo

主題: [Java&JSP] 問一個關於java編譯,很初淺的問題 [打印本頁]

發表人: torpedo    時間: 2013-2-6 09:11 PM     主題: 問一個關於java編譯,很初淺的問題

最近開始自學java
但發現編譯一直是我最頭疼的問題,似乎很多彷間的書並沒有深入提及
我碰到一個很簡單的問題卻一直不知道怎麼編譯

我在
E:\Java\web....裡面創兩個class檔(A.java, B.java )
是想在class A中調用class B的方法

我個構想大致如下
package web;
import java.io.*;

public class A {
        public String name;
        public A(){
                this.name = "A";
        }
        public void test(){
                B b = new B(); //編譯一直出問題的地方
                b.show();
        }
               
        public static void main(String[] args) {
                A a = new A();
                a.test();       
        }       
}

我在編譯 A.java時,用的指令是

E:\Java\web>javac A.java


但編譯的結果都會顯示
cannot find symbol
B b = new B();
^
symbo: class B

但我用jcreator卻可以編譯成功????

這問題應該很白痴,想請問一下有沒有人能告訴小弟解決的辦法?
或使有哪些關於編譯的資料可查.......謝謝

[torpedo 在  2013-2-6 09:15 PM 作了最後編輯]
發表人: torpedo    時間: 2013-2-6 10:20 PM

嗚嗚!查了老半天
發現是我的系統設定有問題......包括同時安裝X32 X64版本

抱歉浪費了一篇文章
我想就順便把我解決的方式說一下好了......

就在系統裡面設定好以下的參數,即可解決.......java編譯對新手還真麻煩

PATH
C:\Program Files\Java\jdk1.7.0_13\bin  

CLASSPATH
.\;%JAVA_HOME%\lib\tools.jar  

JAVA_HOME
C:\Program Files\Java\jdk1.7.0_13


[torpedo 在  2013-2-6 10:21 PM 作了最後編輯]
發表人: bhunji    時間: 2013-2-7 01:20 AM

這程式碼怎麼讓我想到了C#~~
發表人: ashinet    時間: 2013-2-7 02:23 AM

在A中你可以先import B進來
不然會變成B這個class未定義
發表人: osaka    時間: 2013-2-7 10:04 AM

如樓上說
你沒import B 的class進來
除非他們是同一個package

至於多個版本的問題
要看你compiler的時候是用哪一個版本
裝多套應該沒影響吧
我電腦裡面可同時裝1.4, 1.5, 1.6, 1.7
其中1.6和1.7還x64和x32同時裝
發表人: Ailio    時間: 2013-2-7 03:14 PM


引用:
bhunji寫到:
這程式碼怎麼讓我想到了C#~~


C# 跟 Java很多結構上都很像阿

所以也有人說 C# 是微軟板的Java

其實整個 .Net Framework的運作模式 跟JAVA的JVM 也可以說是 極度相似
發表人: jazzblue    時間: 2013-2-11 10:53 AM

C#  的概念也是源自於 JAVA 的,要說抄的也可以
要發展一套程式語言 當然是參考其他的程式語言 比較快

所以只要學了 JAVA 要入門其他語言 都不難
譬如  C#  , 要學  Android  程式設計  也是信手拈來
發表人: kiven310    時間: 2013-2-13 08:40 PM

其實,根本問題出在classpath裡面的那個"."..

假設,兩個.java檔都放在同一個目錄下,且是屬於同一個package,只要加上classpeth=. 這個設定應該就可以正常compiler了。

另外,順便跟你說一下,為什麼jcreator可以正常執行呢?因為jcreator這一類的IDE工具,都有預設classpath=. 這一個設定。




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0