AbstractDisplay文件;
public abstract class AbstractDisplay{
  public abstract void open();
  public abstract void print();
  public abstract void close();
  public final void display(){
    open();
    for(int i=0;i<5;i++){
      print();
    }
    close();
  }
}CharDisplay.java文件;
public class CharDisplay extends AbstractDisplay{
  private char ch;
  public CharDisply(char ch){
    this.ch=ch;
  }
  public void open(){
    System.out.print("<<");
  }
  public void print(){
    System.out.print(ch);
  }
  public void close(){
    System.out.print(">>");
  }
  
}StringDisplay.java文件;
public class StringDisplay extends AbstractDisplay{
  private String string;
  private int width;
  public StringDisplay(String string){
    this.string=string;
    this.width=string.getBytes().length;
  }
  public void open(){
    printLine();
  }
  public void print(){
    System.out.println("|"+string+"|");
  }
  public void close(){
    printLine();
  }
  private void printLine(){
    System.out.print("+");
    for(int i=0;i<width;i++)
      System.out.print("-");
    System.out.println("+");
  }
}Main.java文件;
public class Main{
  public static void main(String args[]){
  AbstractDisplay d=new B("H");
  AbstractDisplay d2=new StringDisplay("Hello,world.");
  AbstractDisplay d3=new StringDisplay("你好");
  d.display();
  d2.display();
  d3.display();
  }
}
运行javac Main.java 结果是
找不到符号;
符号:构造函数CharDisply()(java.lang.String)
位置:类CharDisply
AbstractDisplay d=new CharDisplay("H");错误在哪?

解决方案 »

  1.   


    CharDisplay.java文件;
    public class CharDisplay extends AbstractDisplay{
      private char ch;
      public CharDisply(char ch){
        this.ch=ch;
      }
      public void open(){
        System.out.print(" < <");
      }
      public void print(){
        System.out.print(ch);
      }
      public void close(){
        System.out.print(">>");
      }
     
    } 构造方法名要和类名相同.
      

  2.   

    还有  这个是什么啊? AbstractDisplay d=new B("H");
      

  3.   

    我发贴的时候是错误的,但是我运行的时候我该了,还是出现那个错误啊AbstractDisplay d=new CharDisplay("H");
      

  4.   

    public class CharDisplay extends AbstractDisplay{
      private char ch;
      public CharDisplay(char ch){
        this.ch=ch;
      }
      public void open(){
        System.out.print("<<");
      }
      public void print(){
        System.out.print(ch);
      }
      public void close(){
        System.out.print(">>");
      }
      
    }
    还是错啊
      

  5.   

    public CharDisplay(char ch){ ==>public CharDisplay(String ch){