java中的getter setter范围

use*_*875 1 java eclipse inheritance getter-setter

我有一个类,其中包含以下代码:

public class Crawler {

    String title;

    public void setTitle(String text) {
        title=text;
        //System.out.println(title);
    }

    public String getTitle() {
        // System.out.println(title);
        return title;
    }

    public void crawler() {
        Document doc;
        doc = connect("http://www.xyz.com//asd.html").timeout(0).get();
        title=doc.title();
        setTitle(title);
        System.out.println("Title : " + title);
    }
}
Run Code Online (Sandbox Code Playgroud)

另一堂课:

public class Results {

    public void output() {
        Crawler cw=new Crawler();
        System.out.println(cw.getTitle());
    }
}  
Run Code Online (Sandbox Code Playgroud)

问题是,结果类中的SOP是打印的 null

评论的SOP setTitle()正在打印所需的文本,但SOP getTitle()仍然在说null.

这里有任何范围问题吗?我没有得到它.调用setTitle()方法时,全局标题变量不会改变吗?

对不起,我忘记提到这个,我有一个下面的课程,以下面的方式调用方法:

编辑1:

public class OA {
    public static void main(String[] args) 
    {
        Crawler cw=new Crawler();
        //LoadIntoDB ld= new LoadIntoDB();
        Results op=new Results();

        cw.crawler();
        //ld.load();
        op.output();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行OA类时,将调用crawler和results类的方法.我还是空了.

Jon*_*eet 5

问题是,结果类中的SOP是打印null

是的,它会的.你永远不会调用这个crawler方法,这是唯一要调用的方法setTitle.也许你的意思是它是一个构造函数?如果是这样,您需要更改此声明:

public void crawler() {
Run Code Online (Sandbox Code Playgroud)

对此:

public Crawler() {
Run Code Online (Sandbox Code Playgroud)