请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

1回答

会自动调用父类的构造方法,详情可以参考:https://www.jianshu.com/p/f7934687e420

0 回复 有任何疑惑可以回复我~
  • 提问者 慕莱坞8435019 #1
    但是Thread类,使用了有参数构造,子类不应该默认是实现一个有参构造吗?  
    
    相当于Runnable是接口
    public interface LambdaBasicsByInterface {
        /**
         * 测试方法
         */
        void write();
    }
    
    
    相当于Thread  这里实现了我写的接口
    public class LambdaBasicsByInterfaceImpl implements LambdaBasicsByInterface {
    
        LambdaBasicsByInterface lambdaBasicsByInterface;
    
        public LambdaBasicsByInterfaceImpl(LambdaBasicsByInterface lambdaBasicsByInterface) {
            this.lambdaBasicsByInterface = lambdaBasicsByInterface;
        }
    
        /**
         * 测试方法
         */
        @Override
        public void write() {
            if (lambdaBasicsByInterface != null) {
                lambdaBasicsByInterface.write();
            }
        }
    }
    
    
    相当于ThreadStyle 
    public class LambdaBasicsByInterfaceExtend extends LambdaBasicsByInterfaceImpl {
    
    
        public LambdaBasicsByInterfaceExtend(LambdaBasicsByInterface lambdaBasicsByInterface) {
            super(lambdaBasicsByInterface);
        }
    
        /**
         * 测试方法
         */
        @Override
        public void write() {
            System.out.println("这是扩展实现类");
        }
    }
    
    有一个问题就是ThreadStyle 只是手动选择重新了run方法 
    但是没有实现有参构造, 但是我自己定义的LambdaBasicsByInterfaceExtend  ,要实现继承的LambdaBasicsByInterfaceImpl 的有参构造
    回复 有任何疑惑可以回复我~ 2019-12-19 21:12:03
  • 提问者 慕莱坞8435019 #2
    可能有点乱  不知道能不能表达我的意思
    回复 有任何疑惑可以回复我~ 2019-12-19 21:12:57
  • 悟空 回复 提问者 慕莱坞8435019 #3
    因为Thread有无参构造,而你的类没有无参构造
        public Thread() {
            init(null, null, "Thread-" + nextThreadNum(), 0);
        }
    回复 有任何疑惑可以回复我~ 2019-12-20 13:29:30
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信