黑马程序员技术交流社区

标题: 同一个包之间的导包问题 [打印本页]

作者: 张超    时间: 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