接口与内部类
Posted damocless
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口与内部类相关的知识,希望对你有一定的参考价值。
接口技术:主要用来描述类具有什么功能,而并不给出每个功能的具体实现。
一个类可以实现一个或者多个接口,并且在需要接口的地方随时使用实现了相应接口的对象。
内部类定义在另外一个类的内部,其中的方法可以访问吧哦哦汗它们的外部类的域,内部类技术主要用于设计又有相互协作关系的类集合。
接口决不能含有实例域,也不能在接口中实现方法。提供实例域和方法实现的任务应该是由实现接口的那个类来完成,因此可以将接口看成是没有实例域的抽象类。
为了让类实现一个接口,通常需要下面两个步骤:
1将类声明为实现给定的接口
2对接口中的所有方法进行定义
要将类声明为实现某个接口需要使用关键字implements;
Class Employee imployment Comparable;
6.1.1接口的特性
接口不是类尤其不能使用new运算符实例化一个接口:尽管不能构造接口的对象,却能声明接口的变量; 接口变量必须引用实现了接口的类对象
可以使用instance来检查一个对象是否实现了某个特定的接口
接口中的方法都被自动地设置为public一样,接口中的域将被自动设为public static final(一般不要书写)
6.1.2接口与抽象类
使用抽象类表示通用属性存在一个问题,每个类只能扩展于一个类,但是每个类可以实现多个接口
6.2对象克隆clone()方法
当拷贝一个变量时,原始变量与拷贝变量引用同一个对象。
即改变一个变量所引用的对象将会对另一个变量产生影响
默认的克隆操作是浅拷贝,它并没有克隆对象中的内部对象
对于每一个类,需要做出下列判断:
1默认的clone方法是否满足要求
2默认的 clone方法是否能够通过调用可变子对象的clone得到修补
3是否不应该使用clone
实际上 选项3是默认的,如果选择1或者2,类必须
1实现Cloneable接口 2使用public访问修饰符重新定义clone方法
Cloneable接口的出现与接口的帧长使用没有任何关系。尤其是它并没有指定clone方法。这个方法是从Object类继承而来的。接口在这里只是作为一个标记,表明类设计者知道要克隆,如果一个对象需要克隆,但是没有用实现Cloneable接口,就会I产生一个已检测异常
使用Cloneable接口的唯一目的是可以用instanceof进行类型检查
6.3接口与回调
以上是关于接口与内部类的主要内容,如果未能解决你的问题,请参考以下文章