您的位置:首页 > 编程语言 > Java开发

[JAVA]《Java 核心技术》(二)接口与内部类

2013-11-30 23:44 218 查看
33
C6

接口与内部类

接口主要用来描述类具有什么功能,而并不给出每个功能的具体实现

一个类可以实现一个或多个接口,但只能继承一个父类。

33接口
接口是对垒的需求描述。

接口可以包含一个或多个方法
接口中还可以定义常量

接口可以看成没有实例域的抽象类

接口中所有方法都自动为public,但建议还是显示声明

34

数组的排序调用
Arrays.sort(arr)

35
Comparable接口

36
接口不是类,不能new实例化,但可以定义接口的类对象

接口可以继承接口

37.
接口与抽象类
(1)多继承概念

38 对象克隆
浅拷贝:默认的克隆,是浅拷贝
深拷贝:实现Cloneable接口,重新定义clone()方法
Cloneable:标记接口

39接口与回调。。
Timer定时器 原理
监听?

40 内部类
原因:
(1)内部类方法可以访问该类定义所在的作用于中的数据,包括私有数据
(2)内部类可以对同一个包中的其他类隐藏起来。
(3)当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类 比较便捷。

常规内部类
class A{
private boolean field;
class AIn{
public void fun(){
//visitField(field)
}
}
}

只有内部类才能是私有类,否则其他的定义一个私有类没意义

内部类访问外部的域可以用outClass.this.field
外部类构造内部类对象: outClass.new InnerClass(xx)

局部内部类
写在方法里面
注意方法的参数 如果局部内部类要用到,则要用final修饰。

局部内部类不能用public or private访问说明符进行声明。

技巧

fun(final Integer a[])

变量要更新,不能声明为final,但是要能访问。用长度为1的数组。

匿名内部类:
只创建这个类的一个对象,不比命名了。
new Interface(){
method();
}

静态内部类

将内部类声明为static,取消产生的引用。
静态内部类的对象除了没有对生成它的外围类对象的引用特权,

41. 代理类

Proxy
invoke

InvocationHandler
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: