为啥这段代码可以编译却不能执行?(25分)

  • 主题发起人 主题发起人 蓝色虾
  • 开始时间 开始时间

蓝色虾

Unregistered / Unconfirmed
GUEST, unregistred user!
//: Parcel3.java
//abstract class Contents{
interface Contents{
abstract public int value();
}
interface Destination{
String readLabel();
}
public class Parcel3{
private class PContents implements Contents{
private int i=11;
public int value(){return i;}
}
protected class PDestination implements Destination{
private String Label;
private PDestination(String whereto){
Label=whereto;
}
public String readLabel(){return Label;}
}
public Destination dest(String s){
return new PDestination(s);
}
public Contents cont(){
return new PContents();
}
}
class Test{
public static void main(String args[]){
Parcel3 p=new Parcel3();
Contents c=p.cont();
Destination d=p.dest("Sailing");
}
}
 
程序入口对应的class应该是public的,去掉class Parcel3的public限定符,
给class Test加上public限定符即可.
good luck!
 
既然你的文件名是Parcel3.java
那么你的main应该在类Parcel3里面的吧,当然,main要用public
 
这段代码来自《Thinking in Java》,书上写的确实如此,我看了英文版第二版也是如此
,所以想不通,特来请教的。
 
能否执行还和文件名有关系的。
书上的代码不能执行是很正常的。
tij中的代码我就一个都没有执行过,看看就够了。
 
扔掉书的了, 一点意思没有。[:(!]
 
强烈建议把TIJ做为圣经来使用,而不是试验手册。
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
658
import
I
I
回复
0
查看
719
import
I
I
回复
0
查看
711
import
I
I
回复
0
查看
948
import
I
I
回复
0
查看
738
import
I
后退
顶部