当前位置: 技术问答>java相关
从自己的库重调用protected函数但调不通,请求帮助。
来源: 互联网 发布时间:2017-04-29
本文导语: 我在自己建的mylib库中写了一个文件LibClass,在另一文件中调用LibClass中的一个protected函数foo但编译出错。请看一看。 LibClass.java ------------------- package mylib; public class LibClass{ protected void foo(){ System.out.println("This is...
我在自己建的mylib库中写了一个文件LibClass,在另一文件中调用LibClass中的一个protected函数foo但编译出错。请看一看。
LibClass.java
-------------------
package mylib;
public class LibClass{
protected void foo(){
System.out.println("This is lib file.");
}
}
///调试通过
-------------------------
调用文件 New.java
--------------------
import mylib.*;
public class New extends LibClass{
public void print(){
foo();
}
public static void main(String[] args){
New n = new New();
n.print();
}
}
出错信息:
C:javac6c6-15New.java:2: cannot resolve symbol
symbol : constructor LibClass ()
location: class LibClass
public class New extends LibClass{
^
C:javac6c6-15New.java:5: cannot resolve symbol
symbol : method foo ()
location: class New
foo();
^
2 errors
------------
请问到底是怎么回事?谢谢!
LibClass.java
-------------------
package mylib;
public class LibClass{
protected void foo(){
System.out.println("This is lib file.");
}
}
///调试通过
-------------------------
调用文件 New.java
--------------------
import mylib.*;
public class New extends LibClass{
public void print(){
foo();
}
public static void main(String[] args){
New n = new New();
n.print();
}
}
出错信息:
C:javac6c6-15New.java:2: cannot resolve symbol
symbol : constructor LibClass ()
location: class LibClass
public class New extends LibClass{
^
C:javac6c6-15New.java:5: cannot resolve symbol
symbol : method foo ()
location: class New
foo();
^
2 errors
------------
请问到底是怎么回事?谢谢!
|
CLASSPATH没有设置好
将你的LibClass.java置于mylib目录下,并将mylib目录所在的目录设置到CLASSPATH中
这是编译器将包结构映射到目录结构的结果
将你的LibClass.java置于mylib目录下,并将mylib目录所在的目录设置到CLASSPATH中
这是编译器将包结构映射到目录结构的结果
|
直接指定到类名:import mylib.*-->import mylib.LibClass
|
没有错呀.
|
我调没错,帮不了你:(