JAVA中为什么在创建对象时,对象调用的是有参数的构造方法?

如题所述

假如一个类A有两个构造函数A(),和A(int i),当你在对A进行实例化的时候,如果你写A a = new A();那么就会调用没有参数的A(),而如果你写A a = new A(123);那么就会调用有参数的A(int i);
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-10
1 如果你定义的类中,没有定义带参的构造方法,则初始化对象时,调用默认的构造方法。
2 如果你定义的类中,只定义了带参的构造方法,则初始化对象时,只能调用有参构造方法。
第2个回答  2014-04-10
你写的有参的构造方法啊!

对象没有构造函数就默认会有一个无参的构造函数的。如果有带参的构造函数,你想要无参的构造函数就要自己写多一个无参的构造方法了。
第3个回答  2018-05-07

比如你有一个自定义的类A,有有参跟无参两种构造方法,那就有两种情况:

    创建对象时,在构造方法参数列表里传递了参数,那么就会调用有参构造方法,反之调用无参;

    如果你的A类里面写了有参构造,但是没有写无参构造,那么就不会调用无参构造,这个时候编译器不会给你默认添加无参构造的。

Java构造方法之间调用
在Java编程中,构造方法是用于初始化对象的特殊方法。当创建对象时,构造方法被调用,以便设置对象的初始状态。构造方法的调用方式可以分为以下几种情况:1. 无参构造方法中调用有参构造方法:在无参构造方法内,可以通过使用`this()`关键字来调用有参数的构造方法。例如,代码`this("");`意味着调用了...

java无参数构造调用有参数构造有什么作用?写构造方法有什么作用?
java中,每个类都缺省的有一个构造方法。用关键字new创建实例对象时,就要用到构造方法。 如class A{}.这个类中存在构造方法:A(){}A a = new A();\/\/A()是构造方法。无参构造方法调用有参构造方法?如:A(){ int i = 0; A(i);} ...

JAVA如何理解带参数的方法呢
这个问题两部分来回答,也就是参数的类型是那种类型,在java里,类型分为基本类型和引用类型两种,这两种做为参数是不同的。1、因为基本类型的值是存在栈,而引用类型需存两个东西,一个是对象的引用,一个是对象,引用放在栈里,对象放在堆里;引用是堆里对象的地址。举个例子:int t = 12;String...

java 构造方法可以有参数吗
构造方法,是你在构造一个对象时调用的方法,使用一个无参的构造方法就好比你创造了一个空的壳,具体的数据要等到你使用的时候再把值放到你创造出来的壳里面,而你也可以选择调用一个有参的构造函数,在创建的时候就把部分的值给他加上去。重载是指方法名字一样,而方法里面的参数的类型或数量不同。...

构造函数的有参和无参的区别,构造函数的参数是派什么用场的?
如果构造方法有参数,在创建对象时传入了参数,那么就会调用此方法,这一点和重载类似。2.没有参数的构造函数就是默认构造函数。有参数的构造函数可用传递的参数给类中的属性赋初始值或执行初始化操作例如订阅事件等。构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它通常初始...

构造方法何时被调用?
问题二:java 构造函数什么时候被调用执行 在java语言 中,构造函数又称构造方法。特殊性在于,与普通方法的区别是,他与类名相同,不返回结果也不加void返回值。构造函数的作用是初始化对象,即在创建对象时被系统调用(与普通方法不同,程序不能显示调用构造函数)。构造函数还能够被重载,即可以传入参数,当程序中包含有带...

构造方法何时被调用
创建对象时,构造方法被调用。构造方法是一种特殊的方法,它是一个与类同名的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。在Java中,任何变量在被使用前都必须先设置初值,如无显式赋值,则编译...

java中的成员方法和构造方法有什么区别
构造方法没有返回值,方法名和类名一样,其作用是用于在NEW一个类的时候,会总先调用这个类的构造方法,构造方法内部可以作一些变量的初始化或在创建这个类时必须调用的一些方法和运算,他是不用特意去调用的方法,会随着类的创建而自动去调用 例如:我们需要做一个i+j的运算,在这期间我们用到了构造...

Java中创建子类对象时会默认调用父类中无参的构造函数,然后在调用子 ...
public static void main(String[] args) throws IOException { B b = new B();} } class A{ public A() { System.out.println("A类的无参数构造方法");} } class B extends A{ public B() { \/\/这里面不写,系统也会默认的调用super(),即父类的无参构造。\/\/不管子类的无参构造还是...

java的方法和构造方法,还有类方法的区别和定义格式?
构造方法:分有参和无参构造,在创建类对象时自动调用(即new对象时),该方法没有返回值,也不能加void 例:无参构造:public Person(){} 有参构造:public Person(String name,int age){ this.name = name;this.age = age;} 类方法:供类的对象(实例)使用,可用可不用 ,格式如下:publi...

相似回答