关于#java#的基础问题,如何解决?

为什么一个类的对象需要传入另一个类的构造器进去之后再new一下,才可以被调用直接调用却不行,不能调用的原因是什么?可以调用的机制又是什么?请指教!


```java
public class love {
    public static void main(String[] args) {
        LoveThread loveThread = new LoveThread();
        StopLoveThread stopLoveThread = new StopLoveThread(loveThread);
//为什么一个类的对象需要传入另一个类的构造器进去之后再new一下,才可以被调用
 //  直接调用却不行,不能调用的原因是什么?可以调用的机制又是什么?

        loveThread.start();
        stopLoveThread.start();
    }
}

class LoveThread extends Thread {
    @Override
    public void run() {
        for (int i = 0; i < 50; i++) {
            System.out.println("我不爱你");
            try {
                Thread.sleep(200); // 为了使输出速度适中,使线程休眠 200 毫秒
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

class StopLoveThread extends Thread {
    private LoveThread loveThread;

    public StopLoveThread(LoveThread loveThread) {
        this.loveThread = loveThread;
    }

    @Override
    public void run() {
        try {
            Thread.sleep(5000); // 等待第 25 次输出后 1 秒钟停止循环
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        loveThread.interrupt(); // 停止循环

        System.out.println("我爱你");
    }
}




类对象,只有实例化【通过new关键字实例化】才可以使用,否则就是空对象【使用会报空指针】。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^