请教JAVA编程思想 第4版 第二章练习1的问题

2ft 2011-12-13 04:11:25
小弟刚刚学习JAVA,在看JAVA编程思想第4版,遇到第二章的一个练习题难住了我,特发帖请教各位高手,谢谢,原题如下:
创建一个类,它包含一个int域和一个char域,它们都没有被初始化,将它们的值打印出来,以验证JAVA执行了默认初始化。
第一次我写的代码如下:
//EX02.java
public class EX02{
int i;
char c;
public fun(){
System.out.println(i);
System.out.println(p);
}
public static void main(String[] args){
new EX02;
}
}
执行java EX02.java报如下错误:

EX02.java:4: 方法声明无效;需要返回类型
public static fun(){
^
1 错误

经过多次修改后,如下:


public class EX02{
int i;
char c;
public EX02(){
System.out.println(i);
System.out.println(c);
}
public static void main(String[] args){
new EX02();
}
}
正常编译通过,正常java EX02
为何我什么的方法fun()不能通过,必须声明的方法和函数名要一样呢?
请各位帮忙解答,谢谢
...全文
222 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yerik3lin 2011-12-14
  • 打赏
  • 举报
回复
你调用new Ex02实际上是调用EX02的构造方法。而fun方法是需要有返回值才能定义。


[Quote=引用楼主 2ft 的回复:]
小弟刚刚学习JAVA,在看JAVA编程思想第4版,遇到第二章的一个练习题难住了我,特发帖请教各位高手,谢谢,原题如下:
创建一个类,它包含一个int域和一个char域,它们都没有被初始化,将它们的值打印出来,以验证JAVA执行了默认初始化。
第一次我写的代码如下:
//EX02.java
public class EX02{
int i;
char c;
pu……
[/Quote]
2ft 2011-12-13
  • 打赏
  • 举报
回复
谢谢以上各位兄弟的解释,通过你们的解释让我知道了问题的所在,谢谢各位!
creso 2011-12-13
  • 打赏
  • 举报
回复
LZ。。。还没入门就看JAVA编程思想,建议还是看基础一点的吧
构造函数必须与类同名,一般方法必须定义返回值,如果没有返回值就用void
wasaitufu 2011-12-13
  • 打赏
  • 举报
回复
没有返回值的那是构造函数,构造函数得与类名相同
zysnba 2011-12-13
  • 打赏
  • 举报
回复
public EX02(){
System.out.println(i);
System.out.println(c);
}
这个构造方法要和你的类名字相同
zmsgz 2011-12-13
  • 打赏
  • 举报
回复
根据你的题目的意思,这个程序应该这样写:
public class EX02{
int i;
char c;
public EX02(){
System.out.println(i);
System.out.println(c);
}
public static void main(String[] args){
new EX02;
}
}
huangxw000 2011-12-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 parkjun 的回复:]
兄弟,你java还没入门呢。看 think in java 你会晕的
[/Quote]应该是这样。
javawei0 2011-12-13
  • 打赏
  • 举报
回复
你可用 EX02 ex = new EX02(); ex.fun();来实现调用fun()方法.你如果刚学java,建议你不要看java编程思想.选些基础的看吧.
潇水汀寒 2011-12-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 2ft 的回复:]
EX02.java:4: 方法声明无效;需要返回类型
public static fun(){
^
1 错误
[/Quote]没说要求声明的方法和函数名要一样
fun()方法没返回值 就要声明
方法名前加个void 即可
public void fun(){
System.out.println(i);
System.out.println(p);
}
npc1860 2011-12-13
  • 打赏
  • 举报
回复
think in java 是本好书 但是LZ初学最好还是看看视频或者其他入门书籍,这不是用来学java基础的书
小余 2011-12-13
  • 打赏
  • 举报
回复
兄弟,你java还没入门呢。看 think in java 你会晕的
mengyalizuopeng 2011-12-13
  • 打赏
  • 举报
回复
没说要求声明的方法和函数名要一样
fun()方法没返回值 就要声明
方法名前加个void 即可
public void fun(){
System.out.println(i);
System.out.println(p);
}

public EX02(){
System.out.println(i);
System.out.println(c);
}
这个构造方法要和你的类名字相同

62,629

社区成员

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

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