JAVA默认构造方法问题
发布网友
发布时间:2022-05-02 00:14
我来回答
共2个回答
热心网友
时间:2022-06-25 11:11
1,无参构造方法可以给变量赋予固定的初始值。比如绝大部分实例只需要固定的初始值,偶尔几个实例需要不同的初始值,这时候2个构造器比较方便。
默认的无参构造方法在与有参构造方法共同存在时,它还有特殊的作用。比如JPA(Entity Bean)中,默认的无参构造方法是JPA规定必须有的。当然这个无参构造方法你自己不用,但是如果没有,编译的时候会报错。
2,有参构造方法可以初始化属性值,没有set,这实例的已经初始化的属性值就没法改了。某些情况下,不需要改变的值(比如Entity的ID值),是不需要set方法的。
具体用哪种构造器,要看实际用途,这个没有好坏之分。
有参构造方法可以初始化内部属性以创建实利,但是它不能访问内部属性。
热心网友
时间:2022-06-25 11:11
有参,无参,set,get只是一种形式,根据需要来决定
JAVA中什么时候需要写出默认的构造方法?
构造方法本事就是通过new一个对象的形式进行的实现,如果使用者本身不知道有带参数的构造方法是什么,此时就可以通过 "A a = new A()"的形式来构造一个空参数的方法。但是如果此时没有的话,那么就会直接报错,所以这个是不被java规范所允许的,也就规定了在有参数的构造方法的时候必须构造默认的无参构造方法。 本...
java构造方法和默认构造方法
构造和默认构造这两个类本质上是一样的,当没有提供构造方法时,编译器会自动加上一个默认的不带参数的构造方法,就是下面2个类的例子。自己写上的话编译器就不加了,省略编译器就加上。class Test {int n;}class Test {int n;Test() {}}每个类都必须至少有一个构造方法,不写时便是上述原...
java构造函数初始化的问题
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。(4)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行...
java中,如果你写了构造函数,则编译器就不会调用
int a;public A(){//默认 } public A(int num){/自定义 a=num;} } 很简单的类A,第一个无参数的构造方法就是默认的构造方法,第二个带参数的方法是我们自己写的构造方法。如果你两个构造方法都没有,那么这个类A就相当于隐式的含有第一个构造方法。如果你只写了第二个构造方法,那么第一...
java中一个类中必须含有一个构造方法吗
不是的,你可以选择不添加构造方法,因为java中默认的有一个构造方法,构造方法的使用与否全看你自己的操作需求,但是一旦你创建了构造方法,java虚拟机将不再采用默认的无参的构造方法,而使用你定义的构造方法
java 不管类中是否定义了何种构造函数,创建对象时都可以使用默认的构造...
class Java{ public Java(int a){ } } 当你要创建对象的时候,使用如下方法,JAVA就会报错 Java j=new Java();因为你自己定义了构造函数,JAVA就不再提供默认构造函数了 上面那个类的解决办法有两个 --- Java j=new Java(123);--- class Java{ public Java(){ } public Java(int a){ }...
java进行构造方法的时候,为什么一定要有一个无参构造方法?
1.子类继承父类的时候会自动继承父类的默认构造函数(也就是继承那个无参数的构造函数)。2.无参构造函数是所有构成函数的父类,如果没有写那个默认的不带参数的构造函数的话,继承的时候子类就会报错,因为系统不知道要不继承哪个构造函数,必须明确的使用super()关键字来描述。所以一般为了避免这种错误...
Java我已经定义了构造方法为什么还是提醒我未定义?
java已经定义了构造方法,还是提醒未定义,是因为新建对象时,使用的构造函数,并没有包含没有参数的构造函数,而代码上已经声明了有参数的构造函数。java中默认每个类都要有一个无参构造。如下代码:package com.qiu.lin.he;public class Ceshi {public Ceshi(String str){//有参构造函数}public ...
JAVA的父类中是不是一定要有无参数的构造方法?为什么我不在父类中写空...
这个问题呢是这样的,当我们创建一个类的时候,如果我们没有创建一个构造方法(哪怕是无参数的)。JVM会帮助我们创建一个默认的构造方法,也称为无参构造方法。但是如果我们创建一个构造方法时,JVM就不会再为我们生成一个默认的构造方法。有时有必要的显示的写出这个默认构造函数,也就是无参构造函数...
关于Java构造方法的一个问题
//这是一个空参构造方法 System.out.println("空参构造方法");} public test(String str) { //这是一个有参构造方法,在这个方法内调用了上面的空参构造方法。this();System.out.println("执行this()后,调用了有参构造方法。输出参数:"+str);} public void test(){ System.out.println("...