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");错误在哪?
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");错误在哪?
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(">>");
}
} 构造方法名要和类名相同.
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(">>");
}
}
还是错啊