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

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
 
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/akingseu/p/3451950.html