黑马程序员技术交流社区
标题:
同一个包之间的导包问题
[打印本页]
作者:
张超
时间:
2012-11-12 08:31
标题:
同一个包之间的导包问题
本帖最后由 zhangchao 于 2012-11-12 08:33 编辑
/*具体情况是这样的,两个类都能够独立的正常运行,其中Demo类是一个模拟BufferedReader的,LineNumber是模拟LineNumberReader的,我想把在LineNumber中创建一个Demo的实例,但是定义以后报找不到类。
他们是属于同一个包,不说了 我上代码*/
package SystemIO;
import java.io.*;
import SystemIO.*;//他们都位于此包。
public class LineNumber {
public static void main(String[] args)throws IOException {
Reader fr=new FileReader("SystemIO\\SystemDemo.java");
LineNumberReader lnr=new LineNumberReader(fr);
// SystemIO.Demo bur=new SystemIO.Demo(fr);//创建自己BufferedReader的对象。
Demo bur=new Demo(fr);//用Demo或者SystemIO.Demo创建的在编译的时候都会报找不到符号,
String len=null;
lnr.setLineNumber(200);
int count=lnr.getLineNumber();
while((len=bur.myReadLine())!=null){//一次读一行
System.out.println(count+len);
count++;
}
fr.close();
}
}
package SystemIO;
import java.io.*;
public class Demo extends Reader {//模拟一个与BurreredReader一样的类,能够提供他的readLine();原理是先写到一个缓冲区里面。
private Reader r;
public Demo(Reader r){
this.r=r;
}
public String myReadLine()throws IOException{//模拟BufferedReader的readLine()方法。
StringBuilder sb=new StringBuilder();
int len=0;
while((len=r.read())!=-1){
if(len=='\r')
continue;
if(len=='\n')
break;
else
sb.append((char)len);//转成字符。
}
if(sb.length()!=0)
return sb.toString();
return null;//为什么要返回空,如果不返回就会造成调用这个方法时会无限循环。
}
public void myClose() throws IOException{
r.close();
}
//覆盖掉抽象方法。
public int read(char[] cbuf, int off, int len) throws IOException {
// TODO Auto-generated method stub
return r.read(cbuf,off,len);
}
@Override
public void close() throws IOException {
// TODO Auto-generated method stub
}
}
作者:
张超
时间:
2012-11-12 08:34
报错 如下------------------------------------------
D:\workspace\1\cn.heima\src\SystemIO>javac LineNumber.java
LineNumber.java:14: 找不到符号
符号: 类 Demo
位置: 类 SystemIO.LineNumber
Demo bur=new Demo(fr);
^
LineNumber.java:14: 找不到符号
符号: 类 Demo
位置: 类 SystemIO.LineNumber
Demo bur=new Demo(fr);
^
2 错误
作者:
刘子义
时间:
2012-11-12 09:15
看看你的classpath配置是不是有"."
作者:
王永荣
时间:
2012-11-12 09:27
同一个包之间引用类,好像不要import哦,可以直接用,
前提是,你调用的类已经编译成.class文件了
作者:
张超
时间:
2012-11-12 09:38
王永荣 发表于 2012-11-12 09:27
同一个包之间引用类,好像不要import哦,可以直接用,
前提是,你调用的类已经编译成.class文件了 ...
谢谢 按照你的分析重新编译了一遍,好了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2