新手提问java 类的空构造函数到底有什么用?
我在java书上看到如下代码........publicfatherclass(){};//空构造函数fatherclass(Sringname){..........}...
我在java书上看到如下代码
....
....
public fatherclass(){};//空构造函数
fatherclass(Sring name)
{
.....
.....
}//父类的带参构造函数
为什么多写一个空的构造函数 有什么用? 展开
....
....
public fatherclass(){};//空构造函数
fatherclass(Sring name)
{
.....
.....
}//父类的带参构造函数
为什么多写一个空的构造函数 有什么用? 展开
3个回答
展开全部
1、构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
2、举例:
class point2{
int x,y;
point2(){
}
point2(int a,int b){//构造函数;含参的构造函数;构造方法必须要和类名一致
//且没有返回值
x=a;
y=b;
}
void output(){
System.out.println(x);
System.out.println(y);
}
public static void main(String args[]){
point2 pt=new point2();//实例化对象,这时候x,y没有赋值,默认初始值为0;
pt.output();
pt.x=3;pt.y=3;
pt.output();
}
}
2、举例:
class point2{
int x,y;
point2(){
}
point2(int a,int b){//构造函数;含参的构造函数;构造方法必须要和类名一致
//且没有返回值
x=a;
y=b;
}
void output(){
System.out.println(x);
System.out.println(y);
}
public static void main(String args[]){
point2 pt=new point2();//实例化对象,这时候x,y没有赋值,默认初始值为0;
pt.output();
pt.x=3;pt.y=3;
pt.output();
}
}
展开全部
不写构造函数,系统会默认给个
比如你的这个会给个fatherclass(){}
而你这给个fatherclass(Sring name){}比默认的多个参数
而且你的既然写了构造,就不会有默认的了
而且你实例化必须是 new fatherclass(“”);也就是必须有String型的参数,没参数或者其他类型的
参数就不行了,除非再给其他的构造
构造影响实例化
实例化 的同时会执行该构造方法
比如你的这个会给个fatherclass(){}
而你这给个fatherclass(Sring name){}比默认的多个参数
而且你的既然写了构造,就不会有默认的了
而且你实例化必须是 new fatherclass(“”);也就是必须有String型的参数,没参数或者其他类型的
参数就不行了,除非再给其他的构造
构造影响实例化
实例化 的同时会执行该构造方法
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为如果写了有参数的构造方法
Fatherclass(Sring name){}
就会取代默认的(无参数)构造方法,导致 Fatherclass o=new Fatherclass();无法运行。
为了让这句仍旧能运行,所以要另外补上一个无参数甚至无内容的构造方法。
Fatherclass(Sring name){}
就会取代默认的(无参数)构造方法,导致 Fatherclass o=new Fatherclass();无法运行。
为了让这句仍旧能运行,所以要另外补上一个无参数甚至无内容的构造方法。
追问
不是吧 系统会自动生成空的构造函数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询