Java:需要一些关于代码重用的建议

so.*_*red 1 java refactoring reusability

我有一个我创建的大班,作为我完成作业的项目的一部分.
该类包含数据成员以及一些方法,现在我需要创建另一个(几乎)相同的类.
它几乎完全相同,因为唯一的区别是代码中出现的常数.

例如,如果原始类具有:

for (int i=0; i<8; i++) {
    for (int j=0; j<8; j++) {
        labels[i][j]=new Label(panel, SWT.SHADOW_OUT);
        labels[i][j].setImage(empty);
    }
}
Run Code Online (Sandbox Code Playgroud)

新班级应该:

for (int i=0; i<10; i++) {
    for (int j=0; j<10; j++) {
        labels[i][j]=new Label(panel, SWT.SHADOW_OUT);
        labels[i][j].setImage(empty);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果原班有:

labels=new Label[8][8];
Run Code Online (Sandbox Code Playgroud)

新班级应该:

labels=new Label[10][10];
Run Code Online (Sandbox Code Playgroud)

意思是唯一的区别是10而不是8,在代码中多次.

我可以在哪里重用代码?
有没有人有一些想法?

Jea*_*art 5

只需使用类属性:

public class MyClass {
    private final int labelsSize;
    private final Label[][] labels;
    public MyClass(final int labelsSize) { 
        this.labelsSize = labelsSize;
        this.labels = new Label[labelsSize][labelsSize];
    }
    // ...
    for (int i=0; i<labelsSize; i++) {
        for (int j=0; j<labelsSize; j++) {
            labels[i][j]=new Label(panel, SWT.SHADOW_OUT);
            labels[i][j].setImage(empty);
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)