接口与内部类

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接口与回调

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于接口与内部类的主要内容,如果未能解决你的问题,请参考以下文章

接口与内部类

第11章 接口与内部类

Java的内部类

Java_接口回调与匿名内部类

接口,lambda表达式与内部类

Java中接口抽象类与内部类学习