JAVA一个很傻的问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 19:36:59
import java.lang.*;

public class class1

{
public class1()

{

}

public static void main(String[] args)

{

class1 helloWorld1 = new class1 ();

System.out.println("HELLO");

}

}


import java.lang.*;

public class class1

{

public static void main(String[] args)

{

class1 helloWorld1 = new class1 ();

System.out.println("HELLO");

}

}

貌似都能运行,那么public class1() 的作用是什么?

public class1()
{}

构造方法.在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门功能:构造方法

你写的那个是默认构造方法.

程序在没有构造方法的时候,本身会产生默认的构造方法.

所以上面两个程序本质上说是一样的.

java默认的构造器。如果你不写java编译时是给你自动加上的
public class1()

{

}

只不过在我们的程序里面不体现出来

public class1()

{
System.out.println("class1");

}
你new下class1 会打印class1的

public class1()是类的构造方法啊,在类初始化的时候自动调用的。
也就是在你new class1()的时候调用的

晕 ,看了半天 才比较出上面那个多个无参数的构造函数。很明显你对java基础不了解啊。如果不手写构造方法,系统编译会自动加上一个无参数的构造方法。但是如果你手动加了,系统就不再自动加了。这个可以通过你加一个有参数的构造方法 实践。比如你在把上面那个构造方法改成public class1(int a)这样有参数的 那么你new对象,就应该是class1 helloWorld1 = new class1 (2);如果还这样写class1 helloWorld1 = new class1 ();就报错啦。说没有定义无参的构造方法。这方面你自己搜搜,网上一大片