使用另一个对象的方法实例化一个抽象类?

鸭1992

我一直在研究创建条形码扫描仪程序,在研究中发现了从未见过的东西,我不确定它到底在做什么...

这是我的程序的一小段,包括我不明白的那一行:

import javax.comm.*;    

public class InvScan implements SerialPortEventListener {


static CommPortIdentifier portId1;
SerialPort serialPort1;


public InvScan(){
    serialPort1 = (SerialPort) portId1.open("InvScan", 2000); //what does this mean? 
}

请参阅我评论“这是什么意思?”的行。SerialPort是一个抽象类……我知道抽象类可以使用匿名类进行实例化,但是我以前从未见过。这行代码来自某个程序的教程,该程序旨在执行与我想做的事情相关的操作,但是作者并没有很好地解释这里发生的事情(或者也许我只是不明白?)。他的笔记说:

我们通过执行portId1的open()方法来实例化SerialPort对象。回忆portId1是一个ComPortIdentifier对象,而open()方法来自ComPortIdentifier。

我已经进行了一些研究,但我什至找不到任何正在发生的事情的例子(可能是因为我什至不知道该怎么称呼)。

这甚至对我的程序来说并不是真正必要的,因为我可以重新设计它(而不是成为脚本小子,哈哈),但这确实使我感到困惑,因为我不知道该行发生了什么。

实际对象是从派生的非抽象子类的实例SerialPort所有这一切都保证了抽象方法已在该实例化对象中完全定义。在内部,这看起来像:

public class CommPortIdentifier ... {

...

    public CommPort open(java.lang.String appname, int timeout)
            throws PortInUseException {

        CommPort val = new NonAbstractCommPort( ... );

        // Do something here

        return val;
    }

...

}

作为的抽象子类CommPortSerialPort除非有保证对象的实际返回类型是的子类,否则强制转换为有点冒险SerialPort

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

在Kotlin中创建一个抽象类的实例

来自分类Dev

如何将一个类的实例方法与另一个实例化?

来自分类Dev

为什么Resharper宁愿不隐藏另一个抽象类中的抽象类的属性?

来自分类Dev

可以抽象类继承另一个抽象类C#

来自分类Dev

C#抽象类-“一个或另一个”替代功能

来自分类Dev

使用另一个对象的方法实例化一个抽象类?

来自分类Dev

分配一个抽象类类型错误的对象

来自分类Dev

实例化另一个抽象类的内部抽象类

来自分类Dev

使用另一个类实例访问一个类方法?

来自分类Dev

从抽象类中的另一个方法中调用与真实类中同名的方法

来自分类Dev

C#:调用通过另一个抽象类实现的抽象类方法

来自分类Dev

我可以在抽象类中创建一个为实例化类构造实例的方法吗?

来自分类Dev

C#抽象类具有另一个抽象类对象

来自分类Dev

为什么在扩展的抽象类中需要另一个构造函数?

来自分类Dev

什么是抽象类从另一个抽象类扩展的重要性

来自分类Dev

在C ++中使用另一个头文件中的抽象类

来自分类Dev

有没有办法在另一个抽象类中使用抽象泛型类?

来自分类Dev

在另一个实例化一个类的首选方法是什么?

来自分类Dev

特定基类的抽象类的C ++ Vector,作为另一个类成员

来自分类Dev

如何将一个类的实例方法与另一个实例化?

来自分类Dev

可以抽象类继承另一个抽象类C#

来自分类Dev

另一个抽象类和非抽象类对抽象类的继承

来自分类Dev

Java:如何在另一个类中使用在一个类中实例化的对象?

来自分类Dev

实例化另一个对象

来自分类Dev

如果DateFormat是一个抽象类,则如何使用getInstance()方法实例化它

来自分类Dev

实例化另一个已实现的抽象类的抽象类

来自分类Dev

用另一个的泛型类型制作 2 个抽象类的任何方法?

来自分类Dev

如何从另一个类访问实例化?

来自分类Dev

GMock - 用另一个实现模拟抽象类

Related 相关文章

  1. 1

    在Kotlin中创建一个抽象类的实例

  2. 2

    如何将一个类的实例方法与另一个实例化?

  3. 3

    为什么Resharper宁愿不隐藏另一个抽象类中的抽象类的属性?

  4. 4

    可以抽象类继承另一个抽象类C#

  5. 5

    C#抽象类-“一个或另一个”替代功能

  6. 6

    使用另一个对象的方法实例化一个抽象类?

  7. 7

    分配一个抽象类类型错误的对象

  8. 8

    实例化另一个抽象类的内部抽象类

  9. 9

    使用另一个类实例访问一个类方法?

  10. 10

    从抽象类中的另一个方法中调用与真实类中同名的方法

  11. 11

    C#:调用通过另一个抽象类实现的抽象类方法

  12. 12

    我可以在抽象类中创建一个为实例化类构造实例的方法吗?

  13. 13

    C#抽象类具有另一个抽象类对象

  14. 14

    为什么在扩展的抽象类中需要另一个构造函数?

  15. 15

    什么是抽象类从另一个抽象类扩展的重要性

  16. 16

    在C ++中使用另一个头文件中的抽象类

  17. 17

    有没有办法在另一个抽象类中使用抽象泛型类?

  18. 18

    在另一个实例化一个类的首选方法是什么?

  19. 19

    特定基类的抽象类的C ++ Vector,作为另一个类成员

  20. 20

    如何将一个类的实例方法与另一个实例化?

  21. 21

    可以抽象类继承另一个抽象类C#

  22. 22

    另一个抽象类和非抽象类对抽象类的继承

  23. 23

    Java:如何在另一个类中使用在一个类中实例化的对象?

  24. 24

    实例化另一个对象

  25. 25

    如果DateFormat是一个抽象类,则如何使用getInstance()方法实例化它

  26. 26

    实例化另一个已实现的抽象类的抽象类

  27. 27

    用另一个的泛型类型制作 2 个抽象类的任何方法?

  28. 28

    如何从另一个类访问实例化?

  29. 29

    GMock - 用另一个实现模拟抽象类

热门标签

归档