jon*_*ney 1 java arrays abstract-class
我正在尝试创建一个抽象数组方法,指定数组的这个抽象对象只能容纳3个项目.
现在我已经尝试过这样的事情,public abstract BaseAdapter[3] adapters();但它抱怨一个错误,它不能这样做.
是他们的另一种方式还是我需要做的public abstract BaseAdapter[] adapters();?
这样可以正常工作但是子类仍然可以传递大于3个项目的数组
你可以像这样解决它:
创建一个createAdapters()以返回类型命名的抽象辅助方法(可以覆盖)BaseAdapter[]
protected abstract BaseAdapter[] createAdapters();
Run Code Online (Sandbox Code Playgroud)在您的超类中,您有一个执行以下操作的最终方法 adapters:
public final BaseAdapter[] adapters() {
BaseAdapter[] adapters = createAdapters();
if (adapters.length != 3)
throw new Exception("Error: Please return 3 adapters.");
return adapters;
}
Run Code Online (Sandbox Code Playgroud)另一种方法是创建一个名为BaseAdapterTriple(可能带有更具描述性的名称)的简单类,其中包含三个BaseAdapter,并将其用作返回值.
| 归档时间: |
|
| 查看次数: |
1307 次 |
| 最近记录: |