为什么调用“ this”必须是构造函数中的第一个语句?
作者:互联网
我试图执行下面的代码示例以了解为什么对“ this”的调用必须是构造函数中的第一个语句?我读了很多关于它的书,我明白为什么会这样!
所以我写了下面的简单程序,但是即使我在程序中使用“ this”作为第一条语句,也仍然显示相同的错误.
import java.io.*;
import java.lang.*;
class Demo
{
int x=23;
void Demo()
{
this(55);
}
void Demo(int x)
{
this.x=x;
System.out.println("Inside Parameterise Constructor 2"+"\n Value of x:"+x);
}
}
class ThisDemo
{
public static void main(String []args)
{
Demo obj;
}
}
解决方法:
要专门回答您的问题,必须首先调用this或super,以确保正确设置了基类.
https://stackoverflow.com/a/1168356/154186
要解决以上错误,请从函数调用中删除void类型.例如.:
Demo(int x) {
this.x = x;
}
Demo() {
this(50);
}
标签:constructor,this,java 来源: https://codeday.me/bug/20191026/1938745.html