下面这段代码,为什么对p调用p.info();和p.info("ok");都可以,但是对p、p1、p2调用p.Person();p1.Person(0);和p2.Person(100,25);却不可以,急求解,谢谢!!! public static void main(String[] args) {
Person p = new Person();
Person p1 = new Person(0);
Person p2 = new Person(100,25);
p.info();
p.info("ok");
p.Person();
p1.Person(0);
p2.Person(100,25);
}
}class Person { Person(){
id = 0;
age = 20;
System.out.println("p : id - "+id +"age-: "+ age);
} Person(int _id){
id = _id;
age = 23;
System.out.println("p1 : id - "+id +"age-: "+ age);
} Person(int _id,int _age){
id = _id;
age = _age;
System.out.println("p2 : id - "+id +"age-: "+ age);
}//成员变量定义
private int id;
private int age = 20;//方法定义
public int getAge(){return age;}
public void setAge(int i){age = i;}
public int getId(){return id;} void info() {
System.out.println("my id is : " + id);
} void info(String t) {
System.out.println(t + " id " + id);
}
}
Person p = new Person();
Person p1 = new Person(0);
Person p2 = new Person(100,25);
p.info();
p.info("ok");
p.Person();
p1.Person(0);
p2.Person(100,25);
}
}class Person { Person(){
id = 0;
age = 20;
System.out.println("p : id - "+id +"age-: "+ age);
} Person(int _id){
id = _id;
age = 23;
System.out.println("p1 : id - "+id +"age-: "+ age);
} Person(int _id,int _age){
id = _id;
age = _age;
System.out.println("p2 : id - "+id +"age-: "+ age);
}//成员变量定义
private int id;
private int age = 20;//方法定义
public int getAge(){return age;}
public void setAge(int i){age = i;}
public int getId(){return id;} void info() {
System.out.println("my id is : " + id);
} void info(String t) {
System.out.println(t + " id " + id);
}
}
解决方案 »
- 最大化或者最小化,窗口中的内容才出现
- 很奇怪,不用设置CLASSPATH也可已编译Java文件
- 学习java哪本书比较好?
- 按钮的图标怎么设置啊```我用的ECLIPSE 3.2.1
- JAVA String 如何去掉指定字符
- 关于linux下用InetAddress.getLocalhost()只得到127.0.0.1的问题,请各位帮忙。
- 狂郁闷,半天通不过,谁通过我崇拜谁
- 急急急!!!(在线等)Exception in thread "main" java.lang.NoClassDefFoundError: Hello
- 谁能提供一些较好的JAVA资料或下载资料的网站
- remove(st)删除集合元素却失败
- 初学者关于线程的问题! 跪求!谢谢指教!
- 一个面试题 关于数据结构 我把我的分都压上了
这几个是构造不是方法!
google_ad_client = "pub-4737646267478218";
/* 728x90, 创建于 11-3-23 */
google_ad_slot = "8990752451";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
Person p = new Person();
Person p1 = new Person(0);
Person p2 = new Person(100,25); //就已经调用相应的构造函数,打印出相应的信息
p.info("ok");
p.Person();
p1.Person(0);
p2.Person(100,25);
info()是Person里的方法,是可以进行外部调用的,
但是Person()这个是一个类的构造方法,他是不能像方法一样被外部调用,只能是外部引用
如System.out.println(new Person());
这里就是引用了Person类中的Person()构造方法