此問題涉及類本身(而不是它們的方法或數據)需要聲明爲公共。什麼時候在課堂定義中需要「公開」?
目前我是一個Java noob,自學只是非常基礎。我熟悉其他幾種語言,但在Java中,我只寫了非常基本的程序,就像在一個主類(一個文件)中的所有內容一樣。
所以今天我決定嘗試一些新東西,並把課程放在單獨的文件中。讓我感到意外的是,當我將課程放在單獨的文件中時,即使課程沒有標記爲「公開」,主課程也可以訪問此課程。
爲了一個明確的例子,可以說我有只是兩個文件在一個文件夾中。文件「mainprog.java」包含以下內容:
class mainprog {
public static void main(String[] args) {
hello myHello = new hello();
myHello.sayHello();
}
}
和文件「hello.java」包含以下內容:在「你好」被指定爲公共
class hello {
void sayHello() {
System.out.println("Hello world");
}
}
沒什麼,但是這可以編譯和運行就好了
javac mainprog.java
java mainprog
所以我只是想知道類定義真的需要「公共」嗎?
編輯添加的新的信息 正如答案下面的建議,我嘗試添加一個「一攬子」語句的每個文件,以便從不同的封裝使之。正如預期的那樣訪問類「你好」,然後被拒絕,除非我做了兩個類「你好」和它的方法「的sayHello()公開的。謝謝大家。
public class is visible *在包外*他們在 – 2013-03-24 15:57:14
中聲明http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html – 2013-03-24 15:58:00