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 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 ();就报错啦。说没有定义无参的构造方法。这方面你自己搜搜,网上一大片