Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何创建实现接口( JAVA )的抽象类对象

如何创建实现接口( JAVA )的抽象类对象
EN

Stack Overflow用户
提问于 2013-09-05 21:50:06
回答 5查看 8.8K关注 0票数 1

我有一个接口

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public interface I{
  Status getStatus();
}

然后我有一个实现该接口的抽象类。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public abstract class C implements I{
       public Status getStatus() {
        return status;
    }
}

我想从另一个类访问getstatus()方法,我尝试过了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
C status = new C();

但是我得到错误“不能实例化类型C”

任何帮助都将不胜感激!谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-09-05 21:54:56

不能为抽象类创建对象,编写扩展抽象类并使用该类对象调用方法的具体类。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 class test extends c{
      ..........
     }

    c  obj1= new test();
   obj1.getStatus();
票数 4
EN

Stack Overflow用户

发布于 2013-09-05 21:56:14

根据文档

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
A class type should be declared abstract only if the intent is that subclasses
can be created to complete the implementation. If the intent is simply to prevent
instantiation of a class, the proper way to express this is to declare a 
constructor of no arguments, make it private, never invoke it, and declare no
other constructors.

抽象类可以没有抽象的方法,但是它必须有一个有效的用例(比如从子类调用super )。不能实例化(创建抽象类的对象)。

,所以要么删除抽象关键字,要么创建扩展抽象类.的另一个类。

Ans只是为了记录一下,当一个抽象类实现一个接口时,您不需要在抽象类中实现接口方法(如果您的设计要求这样做的话,您可以这样做)。但是,如果没有在实现抽象类的抽象类中实现接口方法,则需要在抽象类的第一个具体子类中实现相同的方法。另外,如果您确实在抽象类中实现了接口方法,那么就不需要在抽象类的具体子类中再次实现它们。不过,你总可以重写它。

票数 4
EN

Stack Overflow用户

发布于 2013-09-05 21:50:55

假设您的类必须是abstract

不能实例化abstract class

您可以做的是,让任何子类扩展该类并为此创建对象。

抽象方法和类

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18650776

复制
相关文章
java面向对象——抽象类、接口
抽象类的概念有人会觉得有些抽象,下面我将彻头彻尾的介绍抽象类的概念及其应用 我们先来看下面这组代码
小雨的分享社区
2022/10/26
3610
java面向对象——抽象类、接口
Java面向对象之抽象类,接口
抽象类: 含有抽象方法的类被声明为抽象类 抽象方法由子类去实现 含有抽象方法的类必须被声明为抽象类 抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法 抽象方法: 声明而未被实现的方法 抽象类不能被实例化 子类实现不了, 由下一级子类去实现, 当前类声明为抽象类, 继承的这个方法声明为抽象方法 抽象方法的权限修饰符必须为public abstract //人类 public class Person { private String name; //自定义属性
二十三年蝉
2018/02/27
8440
Java面向对象之抽象类,接口
Java面向对象—抽象类和接口
  在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:
翎野君
2023/05/12
2260
java深拷贝的实现方式_接口可以创建对象吗
Cloneable接口与Serializable接口都是定义接口而没有任何的方法。Cloneable可以实现对象的克隆复制,Serializable主要是对象序列化的接口定义。很多时候我们涉及到对象的复制,我们不可能都去使用setter去实现,这样编写代码的效率太低。JDK提供的Cloneable接口正是为了解决对象复制的问题而存在。Cloneable结合Serializable接口可以实现JVM对象的深度复制。
全栈程序员站长
2022/11/04
1.5K0
Java的抽象类 & 接口
如果自下而上在类的继承层次结构中上移,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,祖先类更加通用,人们只将它作为派生其他类的基类,而不作为想使用的特定的实例类。例如,考虑一下对 Employee 类层次的扩展。一名雇员是一个人,一名学生也是一个人。下面将 Person 类和 Student 类添加到类的层次结构中。下图是这三个类
真正的飞鱼
2023/05/10
3490
Java 抽象类、接口
(1) 抽象类和抽象方法都必须用 abstract 关键字来修饰。 (2) 抽象类不能被直接实例化,也就是不能用new关键字去产生对象。 (3) 抽象方法只需声明,而不需实现。 (4) 含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆写所有的抽象方法后才能被实例化,否则这个子类还是抽象的
Michael阿明
2021/09/06
4980
如何用Java测试抽象类和接口?
 1、定义一个代表“形状”的抽象类,其中包括求形状面积的抽象方法。继承该抽象类定义三角型、矩形、圆。分别创建一个三角形、矩形、圆存入一个数组中,访问数组元素将各类图形的面积输出。
顾翔
2021/07/22
6520
kotlin基础--对象、接口、抽象类
如果你想要某个对象和一个类实例化绑定在一起,可以考虑伴生对象,使用 companion object 可以在一个类里定义一个伴生对象,一个类只能有一个伴生对象, 伴生对象也是静态的,只会在类实例化或调用伴生对象中的内容(对象和函数)时实例化一次
aruba
2021/12/06
4320
kotlin基础--对象、接口、抽象类
JavaScript实现java中的|接口|继承|抽象类|继承|多态|对象|工厂模式|重写|重载|
//定一个接口方法, var Interface = function(name,methods){ if(arguments.length != 2){ throw new Error('this instance interface constructor arguments must be 2 length!'); } this.name = name ; this.methods = [] ; for(var i = 0,len = methods.length ; i <len ;
前朝楚水
2018/04/02
1.3K0
我是如何理解Java抽象类和接口的?
在面试中我们经常被问到:Java中抽象类和接口的区别是什么? 然后,我们就大说一通抽象类可以有方法,接口不能有实际的方法啦;一个类只能继承一个抽象类,却可以继承多个接口啦,balabala一大堆,就好像把标准答案熟练的说出来一样。 抽象类和接口这篇文章讲到了他们的区别和联系,它们确实有很多相似的地方,但是从本质上看,或从语言的设计角度来看,这不是它们最本质的区别。 不卖关子,我个人对这两个的理解: 类是具体实例的抽象,比如一个json字符串的抽象;而抽象类就是类的抽象;接口就是抽象类的抽象,接口更像是一种
三哥
2018/06/15
8010
[ Java学习基础 ] Java的抽象类与接口
一、抽象类 1. 抽象类  Java语言提供了两种类:一种是具体类;另一种是抽象子类。 2. 抽象类概念: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。   由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。父类包含
Kevin_Zhang
2018/05/22
1.1K0
关于Java中的对象、类、抽象类、接口、继承之间的联系
寒假学习JavaSE基础,其中的概念属实比较多,关联性也比较大,再次将相关的知识点复习一些,并理顺其中的关系。
xbhog
2021/03/20
9010
Java_抽象类_接口
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
用户10551528
2023/05/09
2730
【JAVA】抽象类和接口
定义一个类时常常需要定义一些成员方法用于描述类的行为特征,但有时这些方法的实现方式是无法确定的。例如上期定义的 Animal类中的 shout()方法用于描述动物的叫声,但是不同的动物叫声也不相同,因此在 shout()方法中无法准确描述动物的叫声。
颜颜yan_
2022/12/18
8570
【JAVA】抽象类和接口
【Kotlin】Kotlin 抽象类与接口 ( 接口声明 | 接口实现 | 抽象类声明与实现 )
2 . 测试 接口 + 抽象类 : HumanStudent 继承了抽象类 , 实现类接口 ;
韩曙亮
2023/03/27
7680
【说站】java如何创建对象
当虚拟机遇到new指令时,首先检查该指令的参数能否在常量池中定位为一个类别的符号引用,检查该符号引用代表的类别是否加载、分析和初始化。否则,执行类加载过程。
很酷的站长
2022/11/23
5750
【说站】java如何创建对象
PHP面向对象-抽象类和接口的区别
下面是一个使用抽象类和接口的示例代码,它定义了一个简单的动物类和两个子类 Dog 和 Cat:
堕落飞鸟
2023/04/27
3710
Java的抽象类、接口、内部类
-抽象方法主要指不能具体实现的方法,体现为没有方法体并且使用abstract关键字修饰;
@派大星
2023/06/28
1280
Java的抽象类、接口、内部类
点击加载更多

相似问题

Java抽象类实现接口

43

实现抽象类Java的接口

23

Java实例抽象类,实现接口

422

创建实现Matlab接口的Java对象

11

Java:接口和抽象类的实现

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文