Topic: thinking in java 3rd 中的一个课后题

  Print this page

1.thinking in java 3rd 中的一个课后题 Copy to clipboard
Posted by: hxz5830
Posted on: 2005-04-29 11:06

小弟, 最近在学Thinking in Java ,3rd中第八章,遇到一个课后题:在它自己的package里创建一个至少包括一个方法的interface。加入一个实现这个interface的protected的内部类。在第三个package里,继承这个类,然后用它的方法返回这个protected内部类的对象,再在返回的过程中将它上传给interface。
我编译时发现 题目中 在第三个package里,继承这个类 是指继承 protected class E的宿主类public class Untitled1,对吧?
我先按要求 在它自己的package里创建一个至少包括一个方法的interface。加入一个实现这个interface的protected的内部类。如下:
package hxz3;
import hxz1.Untitled3.*;

interface B {
void e();
void f();
}

public class Untitled1
{

protected class E
implements B {
public void e() {
System.out.println("B.e()");
}

public void f() {
System.out.println("B.f()");
}

}
public E n(){ //由于在第三个package里,无法创建E对象。只能在此创建后,在第三个package里,创建他的宿主类对象后,调用该 //方法创建E对象。
return new E();
}
public B z(E k){ //返回的过程中将它上传给interface。
l=k;
}

private E l;
}

然后 在第三个package里,继承这个类,然后用它的方法返回这个protected内部类的对象,再在返回的过程中将它上传给interface。如下:
package hxz1;

import hxz3.Untitled1.*;
public class Untitled3
extends hxz3.Untitled1 {
private E d;
public E c() {
return d;

}

public static void main(String[] args) {
hxz3.Untitled1 s = new Untitled3();
Untitled3 v = new Untitled3();
v.d = s.n();//提示Method n()not found in hxz3.Untitled1 问题在这 哪出了问题?
}

}

2.Re:thinking in java 3rd 中的一个课后题 [Re: hxz5830] Copy to clipboard
Posted by: dengyinjun
Posted on: 2005-05-25 03:11

上面的import hxz1.*;应该这样
才能找的到文件...


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923