繁体   English   中英

在子类中使用超级类中的枚举

[英]Using Enums from Super Class in Child Class

我的基类声明一个枚举,并声明该枚举类型的字段。

public abstract class Format {

    ...

    /**
     * compression types
     */
    public static enum CompressionType {
        /**
         * no compression
         */
        NO_COMPRESSION,
        /**
         * RLE8 compression
         */
        RLE_8,
        /**
         * RLE4 compression
         */
        RLE_4
    }

    /**
     * compression type of the image
     */
    public CompressionType compressionType;
    ...

我希望Format的子类为该字段设置一个值。

public class Bitmap extends Format {
        ...
        // get compression type
        String cType = data[offset+30];
        if(cType.equals("00"))
            // this is what I want to do
            super.compressionType = NO_COMPRESSION;
        ...

有没有办法做到这一点? 我已经尝试过使用super.NO_COMPRESSION,但这是行不通的,并且我尝试了最直观的操作,但是那也不行。

应该是这样的:

this.compressionType = Format.CompressionType.NO_COMPRESSION

要么

this.compressionType = CompressionType.NO_COMPRESSION

如果您进行static导入Format.CompressionType.NO_COMPRESSION ,甚至可以执行以下操作:

this.compressionType = NO_COMPRESSION

用枚举名称限定枚举。 所以用

CompressionType.NO_COMPRESSION

要么

Format.CompressionType.NO_COMPRESSION

如果不在孩子班上

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM