接口、lambda表达式与内部类

接口

  1. 接口的概念
    接口使用interface关键字来定义。 接口中的所有方法自动地属于public。
  2. 接口的特性
    接口中的域将被自动设为public static final。
    接口可以多实现,类不可以多继承。
  3. 接口与抽象类
    初学时,觉得抽象类和接口的区分程度不是大
  4. 静态方法
    在Java SE 8中,允许在接口中增加静态方法
  5. 默认方法
    可以为接口方法提供一个默认实现。必须用default修饰符标记这样一个方法。
  6. 解决默认方法冲突
    1)超类优先
    2)接口冲突

接口示例

  1. 接口与回调
  2. Comparator接口
public interface Comparator<T> {
    int compare(T first, T second);
}
  1. 对象克隆
    Cloneable只是一个标记接口,要实现clone()方法的类必须实现该接口。 默认是浅拷贝。

lambda表达式

  1. 为什么引入lambda表达式
    lambda表达式是一个可传递的代码块,可以在以后执行一次或多次。
  2. lambda表达式的语法
    另外写一系列关于Java8新特性的博客出来。
  3. 再谈Comparator
    可以使用lambda表达式来引用该接口中的静态比较器

内部类

内部类是定义在另一个类中的类。
为什么需要内部类呢?

  • 内部方法可以访问该类定义所在的作用域中的数据,包括私有数据。
  • 内部类可以对同一个包中的其他类隐藏起来。
  • 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。
  1. 使用内部类访问对象状态
    内部类既可以访问自身的数据域,也可以访问创建它的外围类对象的数据域
    只有内部类可以是私有类
  2. 内部类的特殊语法规则
    外围类引用的语法:OuterClass.this
    在外围类的作用域之外,访问内部类的语法:OuterClass.InnerClass
  3. 内部类是否有用、必要和安全
  4. 局部内部类
    局部类定义在方法中。 局部类不能用public或private访问说明符进行声明,它的访问域被限定在声明这个局部类的块中。
  5. 由外部方法访问变量
    局部类还可以访问局部变量。 不过那些局部变量必须为事实上的final。
  6. 匿名内部类
    创建一个类的对象,不命名,这种类称为匿名内部类。
  7. 静态内部类
    使用static关键字修饰的内部类,称为静态内部类。
    声明在接口中的内部类自动成为static和public类。

代理(动态代理)

利用动态代理可以在运行时创建一个实现了一组给定接口的新类。

  1. 何时使用代理
    假设有一个表示接口的Class对象(有可能只包含一个接口),它的确切类型在编译时无法知道。
  2. 创建代理对象
    要想创建一个代理对象,需要使用Proxy类的newProxyInstance方法。这个方法有三个参数:
  • 一个类加载器(class loader)
  • 一个Class对象数组,每个元素都是需要实现的接口。
  • 一个调用处理器
  1. 代理类的特性
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 接口,lambda表达式和内部类 接口 定义 接口特性 可以包含常量(public static final)方法...
    chenyq1989阅读 287评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,560评论 18 399
  • 类与接口是Java语言的核心,设计出更加有用、健壮和灵活的类与接口很重要。 13、使类和成员的可访问性最小化 设计...
    Alent阅读 673评论 0 2
  • 2016.11.04星期五 #第三次复诊-做牵引# 戴完第四部矫正器,预约了周五下午5点半复诊。今天提早了一点到,...
    吃货霞阅读 735评论 0 0
  • 关于拖延症的话题我们总会在各种场合听到,吴伯凡老师说它还有个文艺的名字——哈姆雷特综合症。 前段时间我在“即刻”a...
    韩德胜阅读 912评论 1 8