java无参数构造调用有参数构造有什么作用?写构造方法有什么作用? 20
1个回答
展开全部
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类中被注释掉的方法取消掉注释才行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询