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 |