3. 匿名内部类

没有名字的内部类就是匿名内部类。

3.1 匿名内部类特性

1. 匿名内部类总是默认实现某个接口或继承某个抽象类。

2.不能有构造方法,只能有一个实例。

3. 不能定义在任何静态成员、静态方法。

4. 不能是public.protected.private static.

5. 匿名内部类为局部的,所以局部内部类的所有限制都对其有效。

3.2  匿名内部类的使用方式

一、继承式的匿名内部类: 就是new 抽象类。

示例:

package 匿名内部类抽象类练习;

public abstract class Tv {

//打开电视

public abstract void open();

//关闭电视

public abstract void close();

//换台

public abstract void turn();

}

package 匿名内部类抽象类练习;

public class Summer {

public static Tv extendsTv() {

Tv tv = new Tv() {

@Override

public void open() {

System.out.println("打开三星电视...");

}

@Override

public void close() {

System.out.println("关闭三星电视...");

}

@Override

public void turn() {

System.out.println("对三星电视进行换台...");

}

};

//tv.open();

//tv.close();

//tv.turn();

return tv;

}

}

package 匿名内部类抽象类练习;

public class XiaoMi {

public static Tv extendsTv() {

//匿名内部类... 抽象类的实现 ...

Tv tv = new Tv() {

@Override

public void open() {

System.out.println("打开小米电视...");

}

@Override

public void close() {

System.out.println("关闭小米电视...");

}

@Override

public void turn() {

System.out.println("对小米电视进行换台...");

}

};

//tv.open();

//tv.close();

//tv.turn();

return tv;

}

}

package 匿名内部类抽象类练习;

public class Test {

public static void main(String[] args) {

Tv xiaomi = XiaoMi.extendsTv();

xiaomi.open();

xiaomi.turn();

xiaomi.close();

System.out.println("------------------------------");

Tv summer = Summer.extendsTv();

summer.open();

summer.turn();

summer.close();

}

}

java 抽象类的匿名类_Java匿名内部类(通过继承抽象类来实现)相关推荐

  1. 【java笔记】Java中的匿名类和匿名内部类

    匿名类和匿名内部类 匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类.其语法形式如下: new <类或接口>() {// 类的主体 }; 匿名类有两种实现方式: 继承一个 ...

  2. java 热替换 匿名类_Java 类的热替换

    Java 类的热替换 -- 概念.设计与实现 构建基于 Java 的在线升级系统 孙 鸣 和 邓 辉 2010 年 1 月 14 日发布 Java ClassLoader 技术剖析 在本文中,我们将不 ...

  3. 【Java 进阶】匿名类(代码传递、回调、过滤器)、Lambda表达式(方法引用)、函数式接口(Supplier、Consumer、Predicate、Function)

    匿名类 匿名类(Anonymous Class) 匿名类的使用注意 匿名类 - 代码传递 - 测试代码运行时间的工具类 匿名类 - 回调 - 简易网络请求 匿名类 - 过滤器 - 获取目录下的所有文件 ...

  4. android什么叫匿名内部类,Android里面的匿名类与匿名内部类使用

    在android开发中经常碰到匿名类(和匿名内部类)的使用,那么匿名类和一般情况下使用的类有什么不同, 从实现的功能来讲是一样的,但是使用匿名更加简洁方便,形式上有点像new一个接口或类的感觉,但是我 ...

  5. java 内部匿名类_java匿名类和匿名内部类详解

    匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类.其语法形式如下:new() { //类的主体 }; 这种形式的 new 语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一 ...

  6. 1.18 Java匿名类,匿名内部类

    匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类.其语法形式如下: new <类或接口>() {// 类的主体 }; 这种形式的 new 语句声明一个新的匿名类,它对一个 ...

  7. java匿名类_Java匿名类

    java匿名类 Java anonymous class are like local class or inner class without a name. We can use java ano ...

  8. java构造一个水果类_Java基础入门之Object类、匿名内部类、构造方法的继承解析...

    前言 大家好,我是Java进阶者.这篇文章我们主要介绍Java基础中的Object类.匿名内部类.构造方法的继承知识,一起来学习下吧! 一.Object类 1.Object类是所有类的父类,所有类都继 ...

  9. JAVA技术及其应用实验三(抽象类和匿名类)

    实验目录 题目1 题目2 题目3 题目4 题目5 题目6 题目7 题目1 1.编写一个Point类,有x.y.z三个属性: 编写一个PointDemo类,并提供一个distance(Point p1, ...

最新文章

  1. Acwing第 23 场周赛【完结】
  2. ABAP 如何实现屏幕字段不可输入
  3. MVVMLight 实现指定Frame控件的导航
  4. spark RDD创建方式:parallelize,makeRDD,textFile
  5. 为何很多理财平台扣钱很快,但是提现的时候却很慢?
  6. Windows环境下手动更新boot2docker.iso
  7. python-爬虫学习(文字、图片、视频)
  8. c语言水平制表符怎么才能占16列,水平制表符是?其作用?
  9. Android 给TextView中的字体加上“中间线”
  10. c++ 写x64汇编 5参数_第9篇-C/C++ x86_64的函数栈
  11. 5条线程轮流打印1~100
  12. Linux下登陆mysql服务器不需要输入账号密码信息
  13. Python实现共现语义网络
  14. LoadRunner 11安装手册
  15. 网管维修必备工具_7手机维修必备工具
  16. linux阿里云服务器centos8操作系统安装mysql8.0详细教程
  17. 【文献阅读】StyleBERT: Chinese pretraining by font style information
  18. 静态时序分析—串扰延迟分析(Crosstalk Delay Analysis)
  19. linux 桌面 v2ex,程序员:他人笑我桌面太凌乱,我笑他人看不穿
  20. 在conda虚拟环境中配置cuda+cudnn+pytorch深度学习环境(新手必看!简单可行!)

热门文章

  1. 页面中鼠标触碰字体后切换颜色且随鼠标移走后改变
  2. java 创建线程_java多线程|创建线程的各种方式
  3. java解析csv文件写入mysql_java读取cvs文件并导入数据库
  4. gfs mysql_linux搭建gfs系统--iscsi+GFS实现网络存储
  5. linux c语言 延迟,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写
  6. 工程桩基围护知识_地基基础工程专业承包资质
  7. python批量读取用例的方法
  8. caffe data层_Caffe Softmax层的实现原理?
  9. python execfile_python中eval, exec, execfile,和compile [转载]
  10. python opencv库下载_PythonopenCV 2.4.3 cv2.SolvePnP