对象传递给抽象类

问题描述 投票:0回答:0

我创建了一个基础程序来清除抽象类的工作。无法正常工作。

名为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)

我需要做哪些更正?

java object oop abstract-class abstraction
© www.soinside.com 2019 - 2024. All rights reserved.