java 为什么要有构造函数 java为什么要提供默认构造方法作用是什么
大家好,关于java 为什么要有构造函数很多朋友都还不太明白,今天小编就来为大家分享关于java为什么要提供默认构造方法作用是什么的知识,希望对各位有所帮助!
java为什么要提供默认构造方法作用是什么
class Test{
int n;
}
这段没有人为构造方法
class Test{
int n;
Test(int n){
this.n=n
}
Test(){
this.n=1;
}
}
这段有人为(的两种不同参数的)构造方法
默认构造方法的作用和人为构造方法作用差不多,就是假如你不声明构造方法,他总得调用一个构造方法,但是他又找不到人为定义的,所以就用这个默认的不带参数的空方法作为构造方法
作用大概就是这样
java程序中为什麼要用构造函数 在什麽情况下要用到
数据的初始化是非常重要的,未经初始化的数据很多情况下都不是期望的结果,很多忘记初始化的数据是导致错误的根源。构造函数就是提供了一个初始化的地方,可以把初始化数据的代码写在构造函数里。
构造方法,顾名思义,就是在你new一个对象的时候就被调用的。当没有定义构造方法时每个类里都有一个默认的无参的构造方法,此时该类就只有一个构造方法;而当你显示定义类的构造方法时,那就没有那个默认的构造方法了,该类所以的构造方法就是定义了的那些构造方法;例如:定义一个Student类:
class Student1{
//不定义构造方法,此时默认的构造方法是Student1();new
//一个对象时只能这样构造,Student1 s=new Studnet1();
}
另外再写一个有定义构造方法的类:
class Student2{
Student(String name);
Student(String name,int age);
}
Student2有两个构造方法,默认的构造方法就没有了
创建Student2对象时只能用两个构造方法
Student2 s2=new Student2("xiaoming");
Student2 s2=new Student2("xiaoqiang",12);
还可以提供更多的构造方法,参数可以任意个,构造对象的时,就根据你定义的构造方法来构造。
Java构造函数 为什么需要无参构造函数
补充下楼上的回答~~“但是如果你创造了一个带有参数的构造方法,那么无参的构造方法必须显式的写出来,否则会编译失败"这句话有点不妥,应该这么理解:每个类至少要有一个构造函数,如果你自己构建了一个带有参数的构造函数而没有再显示的写出无参的构造函数也是可以的,不过当你尝试通过一个无参的构造函数来构建(new)时,此时编译器才会报错,因为找不到这个无参的构造函数。也就是说当一个类你没有给他构造函数,则编译器会自动补上一个无参的,若有的话就不会,你需要显示将此无参的构造函数写出来。
另一个问题:无参的构造函数,只是为了比较好的构造类(new),具体情况要根据你的类是如何设计的,呵呵。
java进行构造方法的时候,为什么一定要有一个无参构造方法
1.子类继承父类的时候会自动继承父类的默认构造函数(也就是继承那个无参数的构造函数)。
2.无参构造函数是所有构成函数的父类,如果没有写那个默认的不带参数的构造函数的话,继承的时候子类就会报错,因为系统不知道要不继承哪个构造函数,必须明确的使用super()关键字来描述。所以一般为了避免这种错误的发生,在有带有多个构造函数的类里面都会写一个不带参数的构造函数。
出自育知同创教育,望采纳
好了,关于java 为什么要有构造函数和java为什么要提供默认构造方法作用是什么的问题到这里结束啦,希望可以解决您的问题哈!