java无参数构造调用有参数构造有什么作用?写构造方法有什么作用?

如题所述

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

追问

看不懂啊,能否说得详细一点,构造方法具体的作用是什么,到现在我还是没搞懂。

比如一个类,在创建实例化对象时,需要给成员变量初始化,在类里创建一个有参数的构造方法,就可以在创建对象时在小括号里直接初始化,构造方法就是这么个作用吗?仅仅是图个省事??

追答

仅仅是图个省事?初学者可以这样粗浅地认为。

例:
public class Main{
public static void main(String[] args) {
User user = new User("dimandsun","22");
System.out.println("用户名:"+user.getName()+"\t年龄:"+user.getAge());
}
}
/**
 * 简单的javabean
 * @author dimandsun
 *
 */
class User{
private String name;
private String age;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAge() {
return age;
}

public void setAge(String age) {
this.age = age;
}

public User(String name, String age) {
super();
this.name = name;
this.age = age;
}
// public User() {
// super();
// }
}

用户类User,有属性name、age。java中通过new创建实例时会调用构造方法,因为创建对象首先会执行构造方法,所以可以在构造方法中对实例初始化。在《java编程思想》中有提到,构造方法是隐式的静态方法。

值得注意的是,上面的代码中,User user = new User();这样写会报错,因为没有定义无参的构造方法,把User类中被注释掉的方法取消掉注释才行

温馨提示:内容为网友见解,仅供参考
无其他回答

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

java中无参数构造方法有何作用?
1、java中无参数构造方法的存在是因为在创建子类的时候实例化对象报错。2、创建子类的对象实例的时候,必先调用父类的无参数的构造函数(默认构造函数),假如父类有带参数的构造函数,那么系统将不会给它创建无参数的构造函数,这时,子类在实例化的时候,因为找不到父类的默认构造函数,编译器将会报错...

java中无参数构造方法有何作用
1、普通情况 a.首先你要了解 构造方法的重载 。有的人喜欢在 构造方法中 直接给 该对象的变量赋值,而有的人就喜欢 创建无参 的对象。比如说JFrame 有的人喜欢 JFrame frame = new JFrame();frame.title = "XXX";而有的人 就喜欢 JFrame frame = new JFrame("XXX");。b.其实 无参 的...

构造函数的有参和无参的区别,构造函数的参数是派什么用场的?
有参数的构造函数可用传递的参数给类中的属性赋初始值或执行初始化操作例如订阅事件等。构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它通常初始化新对象的数据成员。任何时候,只要创建类或结构,就会调用它的构造函数。类或结构可能有多个接受不同参数的构造函数。构造函数...

构造方法是什么?作用?用处?
构造方法作用:(1).构造出来一个类的实例;(2).对构造出来个一个类的实例(对象)初始化。3.构造方法在初始化对象时自动执行,一般不能显式地直接调用.当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应。完成构造函数的调用。

Java无参构造方法的作用
构造方法的主要目的是为类中的属性初始化,当然无参构造方法可以预设一些属性的值,也可以是在我们要实例化这个对象时,需要初始化或者实例化某些变量,也可能条用某些方法。例如:在swing编程中经常会在无参的构造方法中实例化某些容器或是这是窗口属性等。上面代码中的无参构造方法并没有初始化类中的...

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

java语言的构造函数有什么作用?构造函数可以重载吗?举例说明
构造函数是当你创建对象时,由系统调用的;可以重载 例子 public Class Person{ String name = null; public Person(){};\/\/无参构造函数 public Person(String name){\/\/有参构造函数,重载 this.name = name; }}class Test{ public static void main(String[] args){ Pers...

Java中如何在无参构造方法中调用有参构造?
写第一种。用上面的例子直接写 public Person(){ this("张三",20);\/\/调用有参构造方法。设置默认值。和第一种方法功能一样 } public Person(String name,int age){ this.name=name; this.age=age; } 为了程序易读性。一般。参数的扩展和构造方法的调用都是有一定的规律的。 有参调无参,多参调少参。

Java无参构造方法的作用
。而子类类里面已经有一个带有参数的构造函数了,如果没有写那个默认的不带参数的构造函数的话,继承的时候子类就会报错,因为系统不知道要不继承哪个构造函数,必须明确的使用super()关键字来描述。所以一般为了避免这种错误的发生,在有带有多个构造函数的类里面都会写一个不带参数的构造函数。

相似回答