博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
06 接口与内部类
阅读量:5958 次
发布时间:2019-06-19

本文共 1116 字,大约阅读时间需要 3 分钟。

接口是一种特殊的抽象类

public interface Comparable<T>{}  // 泛型类型接口

实现接口时, 要实现接口的所有方法

class Employee implements Comparable<Employee> {}

接口中可以包含常量, 但是不能包含实例域或静态方法.

对象克隆

Employee original = new Employee("John Public", 50000);

Employ copy = original;  // 这句话并不是真正意义的克隆, 而是为堆内存中得对象增加了一个指向它的指针, 现在有两个指针指向它, original, copy

copy.raiseSalary(10);

 

Emloy copy = orginal.clone();  // 这样就在堆上又开辟了一块新内存, 并用指针 copy 指向这块内存.

不过事情没有那么简单, clone方法是Object类的一个protected方法, 也就是说, 在用户编写代码中不能直接使用它, 子类只能调用clone方法克隆它自己, 另外必须重新定义clone方法, 并将它声明为 public, 尽量不要使用克隆, 因为还有很多其他限制.

接口与回调

回调是一种常见的设计模式, 在这种模式中, 可以指出某个特定事件发生时应该采取的动作. 例如: 可以指出在按下鼠标或选择某个菜单项时应该采取什么行动

class TimePrinter implements ActionListener {    public void actionPerformed(ActionEvent event) {        Date now = new Date();        System.out.println("At the tone, the time is " + now);        Toolkit.getDefaultToolkit().beep();    }}
View Code

Timer t = new Timer(10000, listener);

Timer 构造器第一个参数是时间间隔, 单位是毫秒, 第二个参数是监听器对象.

t.start(); 启动定时器

代理

代理可以在运行时创建一个实现了一组给定接口的新类, 这种功能只有在编译时无法确定需要实现哪个接口时才有必要使用, 对于应用程序设计人员来说, 遇到这种情况的机会很少.

果断先跳过, 以后需要再看.

转载于:https://www.cnblogs.com/moveofgod/p/3774620.html

你可能感兴趣的文章
html最小化打开新页面,【html相关】html中如何实现在新标签中打开另一个新的页面?...
查看>>
在html中加入tablestyle,html表格table的使用,以及表格的css样式
查看>>
android全屏监听,Android SurfaceView实现全屏播放例子
查看>>
html console 滚动条,JavaScript - 控制滚动条操作
查看>>
html5中按钮尺寸设计,UI设计中的按钮设计规范
查看>>
html方法介绍,jQuery html()等方法介绍
查看>>
Apache2月9日邮件:Tomcat请求漏洞(Request Smuggling)
查看>>
WPF外包技术分享—WPF的MVVM架构解析(分享)
查看>>
数字签名与数字证书
查看>>
GHOST -BATCH 参数的妙用
查看>>
控制反转 (Inversion of Control, IoC)
查看>>
Catalyst 3850 Series Switch Recovery
查看>>
python datetime模块的timedelta
查看>>
Spark笔记整理(二):RDD与spark核心概念名词
查看>>
定制带RAID阵列卡驱动的WINPE3.0系统
查看>>
Microsoft Office 2010 Service Pack 2
查看>>
Python 学习笔记 - Memcached
查看>>
apt-get方式安装lnmp环境
查看>>
ubuntu 安装 qt等软件
查看>>
js模态窗口
查看>>