m0_70880131 2023-07-04 10:29 采纳率: 50%
浏览 21
已结题

怎样实现Runnable的run()不被其他类调用

img

由于run()是public的,默认会被其他类调用,但是目前的需求是,run()只容许本类中调用,不要被其他任何类调用,相当于变成私有的,怎么实现呢

  • 写回答

3条回答 默认 最新

  • 运笔如飞 2023-07-04 10:57
    关注

    用内部类或者匿名内部类,创建一个内部类,该类实现Runnable接口,并在其中实现run()方法。将该内部类作为私有成员变量添加到需要运行Runnable的类中,并且只在需要的时候创建和启动该内部类的实例

    public class MyClass {
        private class MyRunnable implements Runnable {
            @Override
            public void run() {
                // 实现 run() 方法的代码
            }
        }
    
        public void startRunnable() {
            MyRunnable myRunnable = new MyRunnable();
            Thread thread = new Thread(myRunnable);
            thread.start();
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月12日
  • 已采纳回答 7月4日
  • 创建了问题 7月4日