java 抽象类的匿名类_Java匿名内部类(通过继承抽象类来实现)
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匿名内部类(通过继承抽象类来实现)相关推荐
- 【java笔记】Java中的匿名类和匿名内部类
匿名类和匿名内部类 匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类.其语法形式如下: new <类或接口>() {// 类的主体 }; 匿名类有两种实现方式: 继承一个 ...
- java 热替换 匿名类_Java 类的热替换
Java 类的热替换 -- 概念.设计与实现 构建基于 Java 的在线升级系统 孙 鸣 和 邓 辉 2010 年 1 月 14 日发布 Java ClassLoader 技术剖析 在本文中,我们将不 ...
- 【Java 进阶】匿名类(代码传递、回调、过滤器)、Lambda表达式(方法引用)、函数式接口(Supplier、Consumer、Predicate、Function)
匿名类 匿名类(Anonymous Class) 匿名类的使用注意 匿名类 - 代码传递 - 测试代码运行时间的工具类 匿名类 - 回调 - 简易网络请求 匿名类 - 过滤器 - 获取目录下的所有文件 ...
- android什么叫匿名内部类,Android里面的匿名类与匿名内部类使用
在android开发中经常碰到匿名类(和匿名内部类)的使用,那么匿名类和一般情况下使用的类有什么不同, 从实现的功能来讲是一样的,但是使用匿名更加简洁方便,形式上有点像new一个接口或类的感觉,但是我 ...
- java 内部匿名类_java匿名类和匿名内部类详解
匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类.其语法形式如下:new() { //类的主体 }; 这种形式的 new 语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一 ...
- 1.18 Java匿名类,匿名内部类
匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类.其语法形式如下: new <类或接口>() {// 类的主体 }; 这种形式的 new 语句声明一个新的匿名类,它对一个 ...
- java匿名类_Java匿名类
java匿名类 Java anonymous class are like local class or inner class without a name. We can use java ano ...
- java构造一个水果类_Java基础入门之Object类、匿名内部类、构造方法的继承解析...
前言 大家好,我是Java进阶者.这篇文章我们主要介绍Java基础中的Object类.匿名内部类.构造方法的继承知识,一起来学习下吧! 一.Object类 1.Object类是所有类的父类,所有类都继 ...
- JAVA技术及其应用实验三(抽象类和匿名类)
实验目录 题目1 题目2 题目3 题目4 题目5 题目6 题目7 题目1 1.编写一个Point类,有x.y.z三个属性: 编写一个PointDemo类,并提供一个distance(Point p1, ...
最新文章
- Acwing第 23 场周赛【完结】
- ABAP 如何实现屏幕字段不可输入
- MVVMLight 实现指定Frame控件的导航
- spark RDD创建方式:parallelize,makeRDD,textFile
- 为何很多理财平台扣钱很快,但是提现的时候却很慢?
- Windows环境下手动更新boot2docker.iso
- python-爬虫学习(文字、图片、视频)
- c语言水平制表符怎么才能占16列,水平制表符是?其作用?
- Android 给TextView中的字体加上“中间线”
- c++ 写x64汇编 5参数_第9篇-C/C++ x86_64的函数栈
- 5条线程轮流打印1~100
- Linux下登陆mysql服务器不需要输入账号密码信息
- Python实现共现语义网络
- LoadRunner 11安装手册
- 网管维修必备工具_7手机维修必备工具
- linux阿里云服务器centos8操作系统安装mysql8.0详细教程
- 【文献阅读】StyleBERT: Chinese pretraining by font style information
- 静态时序分析—串扰延迟分析(Crosstalk Delay Analysis)
- linux 桌面 v2ex,程序员:他人笑我桌面太凌乱,我笑他人看不穿
- 在conda虚拟环境中配置cuda+cudnn+pytorch深度学习环境(新手必看!简单可行!)
热门文章
- 页面中鼠标触碰字体后切换颜色且随鼠标移走后改变
- java 创建线程_java多线程|创建线程的各种方式
- java解析csv文件写入mysql_java读取cvs文件并导入数据库
- gfs mysql_linux搭建gfs系统--iscsi+GFS实现网络存储
- linux c语言 延迟,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写
- 工程桩基围护知识_地基基础工程专业承包资质
- python批量读取用例的方法
- caffe data层_Caffe Softmax层的实现原理?
- python execfile_python中eval, exec, execfile,和compile [转载]
- python opencv库下载_PythonopenCV 2.4.3 cv2.SolvePnP