班级LabelField
有一个方法 -
public void setPadding(int, int, int, int);
如果我像这样创建一个扩展LabelField
覆盖setPadding
的类 -
public class CustomPadding extends LabelField {
public void setPadding(int, int, int, int){
super.setpadding(5,5,5,5);
}
}
每次创建CustomPadding
的实例都不应该调用我的自定义setPadding
方法吗?
目前不是,我不确定为什么?
答案 0 :(得分:3)
为什么会自动调用setPadding
方法?它不会被自动调用 - 显式地必须实际调用它。你是否有理由相信LabelField
的构造函数链中的某些东西会调用它?
如果你试图使customPadding
(应该在PascalCase中命名,btw)总是以特定的方式设置它的填充,你应该从构造函数中调用它。
答案 1 :(得分:1)
不应该调用我的自定义setPadding方法吗?
如果首先没有调用原始setPadding
,则不行。
即,答案是肯定的,如果customPadding.setPadding
是LabelField.setPadding
,则只要LabelField
被调用就应该调用LabelField.setPadding
。 (但如果customPadding.setPadding
未被调用,则customPadding
也不应该。{/ p>
您应该提供更多代码。 (例如,假设您在{{1}}中确实有参数名称。)