在实际开发中我们要自定义组件,就需要继承自某个组件类,如果我们自定义的这个组件类也需要像被继承的这个组件类一样,拥有丰富的构造方法。
关键字super的作用就更加显得尤为重要了,你可以在堆砌自己自定义的这个组件类的构造方法的第一行来继承自父类的构造方法;
举个例子:Java Jdialog,我现在需要自定义一个JDialog,可以完成丰富的功能模块,那么显而易见的是Java本身自带的JDialog无法替我们完成这样的任务,那就需要
自定义JDialog,大家都知道dialog都有父窗体,以及都需要设置dialog的模态(modal)。在自定义类的构造方法中需要传递父窗体,以及设置模态(modal).这时我们
需要调用JDialog的其中一个构造方法,查看开发文档有JDialog构造方法:
JDialog(Dialog owner, boolean modal)
创建一个具有指定所有者 Dialog
和模式的对话框。
使用时就需要用到Super关键字.
文字都比较枯燥的,上代码演示吧(Super()关键字必须在构造方法的第一行):
1 public class ChallengerDialog extends JDialog { 2 3 // private int flag=-1; 4 /** 5 * Create the dialog. 6 */ 7 public ChallengerDialog(JDialog dialog,String Text) { 8 super(dialog, true); 9 // jpanel.setLayout(null);
调用我们自定义的
ChallengerDialog时:
1 new ChallengerDialog(face,challenger+"向你发出挑战,是否接受挑战?");
是不是很简单,有get/到吗?