扩展Java类

扩展Java类,java,android,gpuimage,android-gpuimageview,Java,Android,Gpuimage,Android Gpuimageview,我正在尝试使用GPUImageandroid类。我已经为此构建了一个android应用程序,但我需要向GPUImage类添加一些附加功能 为此,我采取了以下措施: public class GPUImageExt extends GPUImage { } 我需要覆盖其中的一些,但我还必须添加一些新方法 例如,存在一个SavedListener,我需要添加一个额外的侦听器 不幸的是,我遇到了这样一个问题: co.jp.cyberagent.android.gpuimage.gpuimage中没有

我正在尝试使用
GPUImage
android类。我已经为此构建了一个android应用程序,但我需要向
GPUImage
类添加一些附加功能

为此,我采取了以下措施:

public class GPUImageExt extends GPUImage {
}
我需要覆盖其中的一些,但我还必须添加一些新方法

例如,存在一个
SavedListener
,我需要添加一个额外的侦听器

不幸的是,我遇到了这样一个问题:

co.jp.cyberagent.android.gpuimage.gpuimage中没有可用的默认构造函数


如何修复此问题?

您必须决定从子类的构造函数调用
GPUImage
的哪些现有构造函数

例如,由于
GPUImage
具有一个构造函数,该构造函数采用
Context
类型的单个参数,因此子类中可以有一个构造函数:

public GPUImageExt (Context context)
{
    super (context);
    ...
}
或:

你可以看到来源

试试这个

public GPUImageExt( final Context context )
{
    super( context );
}

构造函数必须调用
GPUImage

publicGPuimage(最终上下文)


您可能想考虑是否要对GPUIGIN进行子类化,而不是将其封装在某个组件中,并使用组合/委托。 默认构造函数是一个不带参数的构造函数,所以只需向类中添加一个,即使您不使用它

public class GPUImageExt extends GPUImage {
Context context;

public GPUImageExt (Context context)
{
super (context);
this.context = context;
...
}
//default constructor
GPUImageExt(){
super(context);
}

}
public class GPUImageExt extends GPUImage {
Context context;

public GPUImageExt (Context context)
{
super (context);
this.context = context;
...
}
//default constructor
GPUImageExt(){
super(context);
}

}