关于缺省构造的问题

javagodness 2005-03-02 08:33:56
class Test {
private str="default";

public void print() {
System.out.println(this.str);
}
public static void main(String []args) {
Test t=new Test();
t.print();
}
}
这个例子就是
Test类没有任何构造方法,但是我们照样可以new Test();
是因为系统自动为这个类写了一个没有参数的构造方法
public Test() {
}



上面是朋友在回答我的帖子的时候的回答。
但是我还是有几点看不明白。
一,什么是构造方法。
二,没有参数是不是就是()里没有参数?
三,是不是一个类如果不使用 abc(){}, 是不是系统就自动给配置一个缺省类呢?
...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinajava 2005-03-02
  • 打赏
  • 举报
回复
1,类生成时第一个调用的方法就是构造方法
2你说的是对的
3如果你没有写构造方法(带或不带参数的),系统才会自动给你生成一个。
4就一类构造方法
Ji秋风 2005-03-02
  • 打赏
  • 举报
回复
构造函数是可以有参数的。
自定义了了构造函数,jdk就不会产生缺省构造函数(也就是你说的自动配置的)
如:
class A {
private int _i;

public A(int i) {
_i = i;
}

public void print() {
System.out.println(_i);
}
}

此时你再尝试 new A() ,编译器就会报错。
javagodness 2005-03-02
  • 打赏
  • 举报
回复
还有一个问题:
构造函数是不是包括两大类:一个是没有参数的,二是系统自动给配置的那种??

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧