private static void main(String[] strv) { HelloWorld h = new HelloWorld(); h.hello(); } }
SL275中说明是: 变量和方法有四种访问权限:public,protected,default,private,而类只能有两种:default,public,有defualt权限的变量、方法或类只能从同一个包中的类的任何方法中访问,而protected的变量或方法可以被该类,同一包,子类访问,private只能被该类访问,public可以被所有的访问。 在另一个包中的类是不能实例化一个default类的。 //test.java package lm; class test { public test() { System.out.print("ok"); } } //test2.java package lm2; import lm.*; public class test2{ test t; public test2(){ t=new test(); } } test2根本就不能编译通过,出错信息是:lm中的lm.test不是公有的,不能被外部包访问。 你是如何实例化的呢?
private HelloWorld() {
System.out.println("A new HelloWorld object.");
}
private void hello() {
System.out.println("HelloWorld!");
}
private static void main(String[] strv) {
HelloWorld h = new HelloWorld();
h.hello();
}
}
变量和方法有四种访问权限:public,protected,default,private,而类只能有两种:default,public,有defualt权限的变量、方法或类只能从同一个包中的类的任何方法中访问,而protected的变量或方法可以被该类,同一包,子类访问,private只能被该类访问,public可以被所有的访问。
在另一个包中的类是不能实例化一个default类的。
//test.java
package lm;
class test {
public test() {
System.out.print("ok");
}
}
//test2.java
package lm2;
import lm.*;
public class test2{
test t;
public test2(){
t=new test();
}
}
test2根本就不能编译通过,出错信息是:lm中的lm.test不是公有的,不能被外部包访问。
你是如何实例化的呢?