我的目标是测试受保护的访问级别修饰符,在定义中,可以通过同一个包中的任何类和任何包中的任何子类访问受保护的成员。
假设我在java项目test1中有一个test1类
public class test {
protected int id;
protected String Name;
private int age;
public test(int id, String name) {
this.id = id;
this.Name = name;
this.age = 10;
}
public void setAge() {
this.age = 20;
}
}
我在java项目test2中有另一个类test2,因为它们来自不同的java项目,所以它们来自不同的包
public class test2 extends test {
}
但是test2中有一个错误,它表示"测试无法解析为类型",我该如何解决这个问题?我应该写一些import语句吗?怎么样?
答案 0 :(得分:3)
与a class from another package的任何使用一样,您可以使用import语句:
import com.foo.bar.whatever.test;
或完全限定类名:
public class test2 extends com.foo.bar.whatever.test {
顺便说一下,Java类通常以大写字母开头,即Test
和Test2
,而不是test
和test2
。
答案 1 :(得分:-1)
你应该在一个包中同时拥有这两个类,并在类文件的最开头写一个这样的语句:
package projectname.packagename;
public class test {
...
}
package projectname.packagename;
import projectname.packagename.test;
public class test2 extends test {
...
}