java的研究:这个鲜为人知的方面

java的研究:这个鲜为人知的方面
众所周知,这两种用法是很常见的。

1。而不是当前实例。例如,这个。成员变量名。成员方法明

2。而不是构造函数,比如这个()。

以上两点已不再描述。

但我认为这是另一个人们可能不会注意到的现象。

也许有时候你会发现下面:

测试类实现Runnable {
线程线程1;
线程2;
公共测试(){
线程1新=线程(,1); / / ---------------------- > |
2新=线程(,2); / / ---------------------- > |
}
public static void main(String参数{ }){
测试T =新测试();
t.startthreads();
}
公共空运行(){
线程的东西
}
公共无效startthreads(){
thread1.start();
thread2.start();
}
}

在|,你可能想知道:为什么不能创造的时候你可以自己打电话。

为了澄清上述现象,我们必须首先解释构造函数的继承性。

如果有两类继承,那么

如果未显式声明默认构造函数,则子类构造函数必须首先调用其父类默认构造函数。实际上,我认为第一个构造函数更合适,也就是说,没有输入构造函数,然后调用它自己的构造函数。

在这里我们讨论了上述奇怪的现象,为什么还可以在没有子类的情况下创建这个对象,可以用它来代替自己,这是因为在调用子类构造函数之前,默认构造函数被称为父类(类对象)。你也可以继承一个类的测试,先调用基类构造函数。

在最后一篇文章中,由于其能力有限,这个话题还没有深入讨论,但仅仅是表面上的解释而已。我希望能在它上面扔一块砖。

tag:鲜为人知电脑软件Java

相关内容