【发布时间】:2014-12-16 16:06:57
【问题描述】:
C:\Users\jaina_000\Desktop\learn_java\p1>javac Testp1.java
Testp1.java:6:错误:找不到符号
保护 ob = new Protection();
^
符号:保护等级
位置:类Testp1
Testp1.java:6:错误:找不到符号
保护 ob = new Protection();
^
符号:保护等级
位置:类Testp1
Testp1.java:7:错误:找不到符号
派生 ob1 = new Derived();
^
符号:派生类
位置:类Testp1
Testp1.java:7:错误:找不到符号
派生 ob1 = new Derived();
^
符号:派生类
位置:类Testp1
Testp1.java:8:错误:找不到符号
SamePackage ob2 = 新的 SamePackage();
^
符号:类 SamePackage
位置:类Testp1
Testp1.java:8:错误:找不到符号
SamePackage ob2 = 新的 SamePackage();
^
符号:类 SamePackage
位置:类Testp1
6 个错误
package p1;
public class Testp1
{
public static void main(String a[])
{
Protection ob = new Protection();
Derived ob1 = new Derived();
SamePackage ob2 = new SamePackage();
}
}
package p1;
public class Protection
{
int n = 1;
private int n_pri = 2;
protected int n_pro = 3;
public int n_pub = 4;
public Protection()
{
System.out.println("Inside base constructor.");
System.out.println(" n = "+n);
System.out.println("n_pri = "+n_pri);
System.out.println("n_pro = "+n_pro);
System.out.println("n_pub = "+n_pub);
}
}
package p1;
class Derived extends Protection
{
Derived()
{
System.out.println("Inside Derived constructor.");
System.out.println(" n = "+n);
// System.out.println("n_pri = "+n_pri);
System.out.println("n_pro = "+n_pro);
System.out.println("n_pub = "+n_pub);
}
}
package p1;
class SamePackage{
SamePackage(){
Protection p = new Protection();
System.out.println("Inside SamePackage constructor.");
System.out.println(" n = "+p.n);
// System.out.println("n_pri = "+p.n_pri);
System.out.println("n_pro = "+p.n_pro);
System.out.println("n_pub = "+p.n_pub);
}
}
【问题讨论】:
-
我已将这 4 个文件保存在一个名为 p1 的包中。第一个代码保存在 Testp1.java 中,第二个代码保存在 Protection.java 中,第三个保存在 Derived.java 中,第四个保存在 SamePackage.java 中
-
请提供堆栈跟踪?
-
你有什么问题?
-
@AniketThakur 一切似乎都在同一个包中......
-
我都执行了也没问题,是什么问题???
标签: java access-specifier