该接口的ColorSpace不能定义一个初始化 [英] The interface ColorSpace cannot define an initializer

查看:216
本文介绍了该接口的ColorSpace不能定义一个初始化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

public abstract interface Color
{


  public static final float[] xyz2sRGB;

  static
  {
    float[] arrayOfFloat = new float[9];
    arrayOfFloat[0] = 3.241F;
    arrayOfFloat[1] = -0.9692F;
    arrayOfFloat[2] = 0.0556F;
    arrayOfFloat[3] = -1.5374F;
    arrayOfFloat[4] = 1.876F;
    arrayOfFloat[5] = -0.204F;
    arrayOfFloat[6] = -0.4986F;
    arrayOfFloat[7] = 0.0416F;
    arrayOfFloat[8] = 1.057F;
    xyz2sRGB = arrayOfFloat;
  } 

编译器并不像上面code,返回错误:

The compiler doesn't like the above code, returning the error:

The interface ColorSpace cannot define an initializer

我在哪里去了?

推荐答案

有没有初始化接口。静态或不。但是,您可以创建静态初始化一个抽象类。但请记住,抽象类是不是接口,所以您只能扩展其中一类。

There is no initializer for interface. static or not. However, you can create an abstract class with static initializer. But remember that abstract class is not an interface, so you can only extend one such class.

public abstract class Color{
    public static final float[] xyz2sRGB;
      static
      {
        xyz2sRGB= new float[9];
        xyz2sRGB[0] = 3.241F;
        xyz2sRGB[1] = -0.9692F;
        xyz2sRGB[2] = 0.0556F;
        xyz2sRGB[3] = -1.5374F;
        xyz2sRGB[4] = 1.876F;
        xyz2sRGB[5] = -0.204F;
        xyz2sRGB[6] = -0.4986F;
        xyz2sRGB[7] = 0.0416F;
        xyz2sRGB[8] = 1.057F;
      } 
}

这篇关于该接口的ColorSpace不能定义一个初始化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆