我创建了一个继承JFrame
的类,在我的类构造函数中,要设置标题,我可以使用以下方式:
super("title");
setTitle("title");
或者只需创建一个JFrame
对象,例如:
JFrame f = new JFrame("title);
编译器如何区分所有这些内容以得出相同的结论呢?我知道super用于调用超类中被覆盖的方法,但它是如何具体知道要调用setTitle方法的呢?
我的想法是,super调用JFrame类的构造函数,而这里只有一个带有字符串参数的构造函数,所以它基本上是在执行
JFrame f = new JFrame("title");
,而不需要显式地创建对象。这是正确的吗?如果不是,有人能解释一下super到底在做什么,为什么setTitle不需要一个对象引用吗?
谢谢