abstract.java文件;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 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(">>");
}
}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 CharDisplay("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"); 错误在哪?
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 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(">>");
}
}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 CharDisplay("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"); 错误在哪?
你的参数是char;