1.Java无参构造方法的作用定义name 和age,不会自动null和0
只有你new Person()得时候JVM装载Person得时候才会为属性name = null, age = 0完成初始化内存分配 。
通常构造方法里面不建议增加无关的####打印这样,但是你可以写的 。
假如没有定义构造方法会自动生成一个无参构造,为什么要自动生成无参构造呢?
无参的默认不写,但是如果你写了其他的
public Person(String name),如果你想直接new Persn(),就必须要写,你可以理解为public Person(String name)'覆盖‘掉了无参 。多样化构造方法可以造成代码适当明了一点点,某种程度上可以让某些程序员风格一致 。
譬如a构造对象的时候总喜欢Person p = new Person();
B喜欢Person p = new Person("zhang san");
2.Java中如何在无参构造方法中调用有参构造方法,希望最好有个例子,首先我在想,楼主是不是钻牛角了?
一般正常的都是参数多的调用参数少的 。有参数的调用无参数的居多 。
当然你要无参调用的参的也可以 。
构造方法不管怎么互相调用 。至少要保证有一个是没用this调用的即可 。
你用无参,调用有参的 。那你有参的参数你需要怎么传呢 。当然如果换一个角度也可以 。
我手写下 。没经过IDE的 。提供下思路 。我有两种思路,写同一个功能 。
public class Person{
private String name;
private int age;
//无参
public Person(){
this.name="张三";
this.age=20;
}
【无参构造怎么写】//有参
public Person(String name){
this.name=name;
}
//多参
public Person(String name,int age){
this(name);//调用一个参数的构造方法
this.age=age;
}
}
这是一种写法比较常用的方法 。写第一种 。用上面的例子直接写
public Person(){
this("张三",20);//调用有参构造方法 。设置默认值 。和第一种方法功能一样
}
public Person(String name,int age){
this.name=name;
this.age=age;
}
为了程序易读性 。一般 。参数的扩展和构造方法的调用都是有一定的规律的 。
有参调无参,多参调少参 。。扩展参数的时候,最好保持原来的顺序 。
希望对楼主有帮助 。因为没编译过 。是手写的,如果有什么小问题的话,楼主自己改一下 。思路是这样的 。
3.无参的构造函数在 C# 中类型构造函数是 static(在 Visual Basic 中为 Shared)方法,不能带任何参数 。实例构造函数用于创建类型的实例 。实例构造函数可以带参数,也可以不带参数 。不带任何参数的实例构造函数称为默认构造函数 。
静态构造函数用于初始化任何静态数据,或用于执行仅需执行一次的特定操作 。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数 。
静态构造函数具有以下特点:
静态构造函数既没有访问修饰符,也没有参数 。
在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类 。
无法直接调用静态构造函数 。
在程序中,用户无法控制何时执行静态构造函数 。
静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项 。
静态构造函数在为非托管代码创建包装类时也很有用,此时该构造函数可以调用 LoadLibrary 方法 。
例子你已经找到了