我创建了一个基础程序来清除抽象类的工作。无法正常工作。
名为Hello的抽象类:
package abstractsample;
public abstract class Hello{
abstract void onText(String text);
}
一个名为 TextScanner 的类。 scan() 函数已定义。
package abstractsample;
import java.util.Scanner;
public class TextScanner {
Hello obj;
public TextScanner(Hello obj) {
this.obj=obj;
}
void scan() {
System.out.println("enter a string");
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
obj.onText(str);
}
}
名为 Sample 的类继承 Hello
package abstractsample;
public class Sample extends Hello{
void onText(String text) {
System.out.println(text);
}
Sample(){
TextScanner ts=new TextScanner(this.obj);
ts.scan();
}
public static void main(String[] args) {
Sample a=new Sample();
}
}
这就是我所做的。它不起作用。示例类中存在问题。对象传递时出错。这是错误显示:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
obj cannot be resolved or is not a field
at abstractsample/abstractsample.Sample.<init>(Sample.java:8)
at abstractsample/abstractsample.Sample.main(Sample.java:13)
我需要做哪些更正?