我的目标是测试访问级别修饰符protected,在定义中,protected成员可以通过同一包中的任何类和任何包中的任意子类访问。
假设我在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 com.foo.bar.whatever.test;
或完全限定类名:
public class test2 extends com.foo.bar.whatever.test {
顺便说一句,Java类通常以大写字母开头,即Test
和Test2
,而不是test
和test2
。
您应该将两个类放在一个包中,并在类文件的开头编写这样的语句:
package projectname.packagename;
public class test {
...
}
package projectname.packagename;
import projectname.packagename.test;
public class test2 extends test {
...
}