学习java内部类时一点小疑惑

qq_36743111 2018-02-17 05:51:40
// innerclasses/Ex6.java
// TIJ4 Chapter Innerclasses, Exercise 6, page 353
/* Create an interface with at least one method, in its own package. Create
* a class in a separate package. Add a protected inner class that
* implements the interface. In a third package, inherit from your class and
* inside a method, return an object of the protected inner class, upcasting
* to the interface during the return.
*/

// in separate package:
public interface Ex6Interface {
String say();
}

// and in a second package:
public class Ex6Base {
protected class Ex6BaseInner implements Ex6Interface {
// need public constructor to create one in Ex6Base child:
public Ex6BaseInner() { }
public String say() { return "Hi"; }
}
}


import innerclasses.ex6Interface.*;
import innerclasses.ex6Base.*;

public class Ex6 extends Ex6Base {
Ex6Interface getBaseInner() {
return this.new Ex6BaseInner();
}
public static void main(String[] args) {
Ex6 ex = new Ex6();
System.out.println(ex.getBaseInner().say());
}
}



为什么一定要写 public Ex6BaseInner() { } 这句话,不写就报错
...全文
1060 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
Java开发利器之Myeclipse全面讲解 pdf 文件 为什么学习MyEclipse Java 的开发中可以有多种开发方式,最基础的可以使用记事本,也可以使用智能集成开 发工具。在理论上,不管使用什么工具,都是可以进行项目开发的,但是开发速度相差是非 常大的。 MyEclipse 做为一款集成开发工具,大大节省了程序员的工作范围,能够很大程度的提 高工作效率,从而使项目开发更快捷。 目前开发中可以选择的集成开发工具有很多,但是使用最多的还是MyEclipse,在绝大 部分的开发公司中都是使用它。所以是否能够熟练使用MyEclipse 决定了是否能够很好的融 入开发团队的关键。 本书有哪些特点 1、步骤清晰表达准确 对于一个非初学者来说,本书的步骤可能有些繁琐。例如描述弹出菜单,其中会这样 讲解:在编辑区的程序中,将鼠标指定在Student 类体中,单击鼠标右键,在弹出的菜单中 选择XXX 命令。在其中的讲解中,有几个关键点,分别是编辑区、类体中、单击右键,其 北风网讲师原创作品----仅供www.ibeifeng.com 学员内部交流使用 中少了哪一点都是不能执行命令的。 对于一个非初学者来说,会觉得有一点罗嗦,但是对于初学者而言就能够很容易的按照 步骤,学会该命令的使用。 2、全面讲解不留盲点 这里所说的全面讲解,并不是指所有功能,而是指一个功能。在很多书中,说的最多的 一句话就是这些选项采用默认值就可以。在本书中,这句话使用的是比较少的,因为 MyEclipse 中不会集成完成不需要改变的选项。 在本书中对操作界面进行讲解中,会将操作界面中的每一个选项都讲解到。在其中讲解 该选项的作用,在什么地方用,实际开发中如何来用,尽量不让读者带着疑惑进行下面的学 习。 3、作者心得经验之谈 在本书的知识讲解中,穿插了大量的作者心得,其中包括注意点、小技巧和作者的经验 之谈。当具有两种都可以用的选择,作者通常给出自己的观点或者目前主流选择,可能和 读者所在公司的选择不同,这种情况下以公司的选择为标准。

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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