(1) 用public、private、protected 以及“友好的”数据成员及方法成员创建一个类。创建属于这个类的一
个对象,并观察在试图访问所有类成员时会获得哪种类型的编译器错误提示。注意同一个目录内的类属于
“默认”包的一部分。
在做这个习题!第一个程序是:
package c05;
public class E01_AccessControl{
public int a;
private int b;
protected int c;
int d;
public void f1(){System.out.println(a);}
private void f2(){System.out.println(b);}
protected void f3(){System.out.println(c);}
void f4(){System.out.println(d);}
public static void main(String[] args){
E01_AccessControl test = new E01_AccessControl();
test.a=1;
test.b=2;
test.c=3;
test.d=4;
test.f1();
test.f2();
test.f3();
test.f4();
}
}
没什么问题
第二个程序是这个:
package c05;
public class E01_Other{
public E01_Other(){
E01_AccessControl test = new E01_AccessControl();
test.a=1;
//test.b=2;// Can't access: private
test.c=3;
test.d=4;
test.f1();
//test.f2();// Can't access: private
test.f3();
test.f4();
}
}
编译没有问题 但是
执行程序的时候 提示Exception in thread "main" java.lang.NoSuchMethodError: main
这个是什么意思呢!!!!
------解决方案--------------------------------------------------------
第二个类没有main方法(程序执行的入口)!
------解决方案--------------------------------------------------------
第二个java文件里面写个空的main函数应该可以吧,楼主?
------解决方案--------------------------------------------------------
public class E01_Other {
public E01_Other() {
E01_AccessControl test = new E01_AccessControl();
test.a = 1;
// test.b=2;// Can't access: private
test.c = 3;
test.d = 4;
test.f1();
// test.f2();// Can't access: private
test.f3();
test.f4();
}
public static void main(String arg[]) {
E01_Other e = new E01_Other();
}
}