抽象类不能实例化 @Resource
时间: 2023-08-23 15:18:09 浏览: 70
是的,抽象类不能被实例化。抽象类是一个不能被直接实例化的类,它只能被用作其他类的基类。抽象类通常包含一些抽象方法,这些方法需要在子类中被实现才能使用。在Java中,我们可以使用关键字abstract来定义一个抽象类。而使用注解@Resource来注入依赖时,通常是将一个已经存在的实例注入到目标对象中。由于抽象类不能被实例化,所以不能使用@Resource注解来注入抽象类的实例。
相关问题
抽象类和接口不能实例化 ;
抽象类和接口都不能被实例化,这是因为它们都是用来定义其他类的模板或者规范,而不是具体的实现。下面是对抽象类和接口不能实例化的解释:
1. 抽象类:抽象类是一个不能被实例化的类,它只能被继承。抽象类可以包含抽象方法和非抽象方法。抽象方法是没有具体实现的方法,而非抽象方法是有具体实现的方法。子类继承抽象类后,必须实现抽象方法才能被实例化。
2. 接口:接口是一种特殊的抽象类,它只包含抽象方法和常量。接口中的方法都是抽象的没有具体实现。类实现接口后,必实现接口中的所有方法才能被实例化。
此,抽象类和接口都不能直接被实例化,只能通过子类继承抽象类或者类实现接口后,才能创建对象。
c++ 不能实例化抽象类
抽象类是指含有纯虚函数的类,纯虚函数是在类中声明但没有定义的虚函数。C++中的抽象类不能被实例化,也就是不能创建抽象类的对象。因为抽象类中存在没有定义的纯虚函数,而纯虚函数没有具体的实现,所以无法创建抽象类的对象。
在C++中,当我们试图创建一个抽象类的对象时,编译器会报错,提示“不能实例化抽象类”。
要解决这个问题,我们需要将抽象类作为基类,派生出一个具体的类,并实现所有的纯虚函数。只有派生类中实现了所有的纯虚函数,才能创建派生类的对象。
举个例子,假设我们有一个抽象类Shape,其中包含一个纯虚函数area()。我们可以创建一个派生类Rectangle,实现area()函数来计算矩形的面积。然后就可以通过创建Rectangle的对象来实例化。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)