无法将类中的构造器用到给定类型
时间: 2024-05-17 09:16:16 浏览: 15
当父类没有无参构造方法时,无法将类中的构造器用到给定类型。这是因为在子类的构造方法中,默认会调用父类的无参构造方法。但是如果父类没有无参构造方法,只有带参构造方法,那么子类在调用父类构造方法时会报错,因为实际参数列表和形式参数列表长度不同,无法匹配调用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [java语言基础(33)——面向对象(父类中没有无参构造编译报错——无法将类 xxx中的构造器 xxx应用到给定类型...](https://blog.csdn.net/wang740209668/article/details/68615809)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关问题
无法将类 java.util.TimerTask中的构造器 TimerTask应用到给定类型怎么解决
在Java中,当你尝试创建一个继承自`java.util.TimerTask`的子类时,可能会遇到"无法将类 java.util.TimerTask中的构造器 TimerTask应用到给定类型"的错误。这是因为`TimerTask`类没有公共的构造函数,所以无法直接实例化它。
要解决这个问题,你可以通过创建一个匿名内部类来实现`TimerTask`,并在其中覆盖`run`方法。这样,你就可以创建一个`TimerTask`对象并使用它。
下面是一个示例代码,演示了如何解决这个问题:
```java
import java.util.Timer;
import java.util.TimerTask;
public class Main {
public static void main(String[] args) {
TimerTask task = new TimerTask() {
@Override
public void run() {
// 在这里定义你的任务逻辑
System.out.println("Task is running...");
}
};
Timer timer = new Timer();
timer.schedule(task, 1000); // 在1000毫秒后执行任务
}
}
```
在上面的代码中,我们创建了一个匿名内部类,继承自`TimerTask`,并在其中覆盖了`run`方法。然后,我们创建了一个`Timer`对象,并使用`schedule`方法安排任务在1000毫秒后执行。
无法将类 org.apache.lucene.index.IndexWriterConfig中的构造器 IndexWriterConfig应用到给定类型;
这个错误通常表示你尝试使用错误的参数调用了构造函数。你需要检查你代码中创建 IndexWriterConfig 对象的地方,确保传递给构造函数的参数类型和数量是正确的。下面是一个示例:
```
IndexWriterConfig config = new IndexWriterConfig(new StandardAnalyzer());
```
在这个示例中,我们创建了一个 IndexWriterConfig 对象,并将一个 StandardAnalyzer 对象作为参数传递给构造函数。你需要确保你的代码中类似的构造函数调用是正确的。另外,也要确保你的代码中所有需要的包都已经正确导入。