package abc;
class A {
protected int x;
protected void print() { System.out.println(x); }
}
package xyz;
import abc.A;
class B extends A {
void test(A a, B b) {
a.x = 100;
a.print();
b.x = 100;
b.print();
}
public void static main(String args[]){
B b = new B();
b.test();
}
}
这个程序哪错了啊
很多问题。。。首先因为A和B不属于同一个包,所以A类需要是由public访问修饰符修饰的类。并且也是因为两个类不在同一个包,在B中要调用A中的方法时,只能调用public级别的方法,无法调用protected修饰的方法。B中的main方法也有问题,void和static的位置反了
package abc;
public class A {
public int x;
public void print() {
System.out.println(x);
}
}
package xyz;
import abc.A;
public class B extends A {
public void test(A a, B b) {
a.x = 100;
a.print();
b.x = 100;
b.print();
}
public static void main(String[] args) {
}
}