这一章节我们来讨论一下匿名内部类。
我们之前已经提到了内部类,如下:
package com.ray.ch03;
public class Test {
private class OneTest implements MyTest {
@Override
public void test() {
}
}
private MyTest myTest() {
return new OneTest();
}
public static void main(String[] args) {
new Test().myTest();
}
}
interface MyTest {
void test();
}
上面的内部类看上去没什么问题,但是很多时候我只需要它来辅助,其他地方基本用不上,因此,我们可以简化一下,变成匿名内部类,只是用来辅助方法的。
注意:匿名内部类的实现需要接口或者抽象类来配合
我们将上面的代码修改一下,变成下面的例子:
package com.ray.ch03;
public class Test {
private MyTest myTest() {
return new MyTest() {
@Override
public void test() {
}
};
}
public static void main(String[] args) {
new Test().myTest();
}
}
interface MyTest {
void test();
}
笔者总结了几个注意点:
1.只能在继承或者实现接口里面选一个,不可两者兼备
2.不能够定义构造函数
3.不能使用static
4.不能是抽象的
package com.ray.ch03;
public class Test {
private MyTest myTest() {// 不能继承MyTest2,只能是在返回类型是MyTest2的时候才能。
return new MyTest() {
// public MyTest(){}//error
// private static int id=1;//error
@Override
public void test() {
}
};
}
public static void main(String[] args) {
new Test().myTest();
}
}
interface MyTest {
void test();
}
class MyTest2 {
}
总结:这一章节我们简单讲述了一下匿名内部类。
这一章节就到这里,谢谢。
-----------------------------------
目录
分享到:
相关推荐
3. "Rocky-8.6-x86_64-minimal.iso":这是最小化安装镜像,仅包含最基本的操作系统组件,适合那些希望从头定制系统或需要轻量级部署的用户。 "CHECKSUM"表示提供了校验和文件,用于验证下载的ISO文件是否完整无损。...
在Java开发中,这样的库可以极大地提高开发效率,因为它封装了常见的功能,开发者可以直接使用,而无需从头编写代码。 描述中的 "mchange-commons-java-0.2.11.jar包" 是该库的主要组成部分,是一个Java归档(JAR)...
用户可以轻松地导入现有的Java项目,或者从头开始创建新的项目,包括Maven或Gradle构建系统。 3. **构建工具**:Eclipse 集成了构建工具,如Ant和Maven,使得构建和管理项目依赖变得简单。对于现代Java开发,Maven...
- **Android Socket编程**:使用Java的Socket类建立与NTRIP服务器的连接,收发数据。 - **JSON或XML解析**:NTRIP数据可能以这两种格式传输,需要解析成Java对象。 - **Android权限管理**:可能需要获取网络访问权限...
2. **aip-java-sdk-4.2.0.jar**:这是核心的AIP Java SDK库文件,包含了所有用于与百度AI平台交互的类和方法。开发者需要引入这个jar文件到他们的Android项目中,才能使用SDK提供的功能。 3. **json-20160810.jar**...
在Java代码中,他们可以通过导入Aspose.Words相关的类和方法,开始执行文档处理任务。例如,下面是一个简单的例子,演示如何使用Aspose.Words读取和保存一个Word文档: ```java import com.aspose.words.Document; ...
【标题】: "手把手 - 微服务 Windows 开发环境从头搭建 2022-09-05 直播录像 - 软件安装包-2.zip" 这个压缩包文件包含了搭建微服务开发环境所需的基础软件,包括JDK(Java Development Kit)和MySQL数据库。...
在"Swing外观包.jar"这个文件中,可能包含了一些预设的LookAndFeel实现或者定制的LookAndFeel类,以便开发者可以直接导入并应用于他们的项目中,无需从头开始编写。这大大简化了创建独特界面的过程,使得开发者可以...
`Object`类是所有Java类的基类,也就是说所有的类都直接或间接地继承自`Object`。因此,`Object`类中定义的方法可以在所有类中使用。 - **Object类常用方法** - `public boolean equals(Object obj)`:比较两个...
Java是一种广泛使用的面向对象的编程语言,其特点包括抽象、继承、封装和多态性。在Java笔试中,这些概念经常被考察。 1. **面向对象的特征**: - **抽象**:抽象是将复杂问题简化的过程,分为过程抽象(方法)和...
在Java编程中,多文件...通过这个"java-多文件上传dome"工具包,你可以快速实现上述功能,无需从头编写所有代码。不过,记得在实际项目中,除了功能实现,还要关注性能、安全性和可维护性,确保应用程序的稳定运行。
**PyPI 官网下载 | maaklas-0.1.8.6-py2.py3-none-any.whl** PyPI(Python Package Index)是Python社区的官方软件仓库,为Python开发者提供了一个集中发布和下载Python库的地方。在这个场景中,我们讨论的是名为...
Java SDK是许多软件开发中的重要组成部分,特别是在与服务器端交互时。在这个名为"java-sdk-master.zip"的压缩包中,包含的是Leancound的Java SDK,这是一个专为集成Leancound服务而设计的开发工具包。Leancound是...
在Java编程中,库(Library)是预先编写好的代码集合,程序员可以导入并直接使用,无需从头开始编写所有功能。这些库通常以JAR(Java Archive)文件的形式存在,里面封装了类和方法,可供应用程序调用。Java库广泛...
1. **源代码**:这是实现模糊视图背景的核心部分,可能包含Java类和方法,用于处理图像并应用模糊效果。 2. **示例应用**:可能包含一个简单的Java应用,演示如何使用库来创建模糊视图背景,这对于开发者理解和学习...
学习List接口及其实现类是理解Java集合框架的关键步骤。通过熟练掌握这些知识,开发者可以更有效地组织和操作数据,提高代码的效率和可维护性。在实际开发中,根据需求选择合适的List实现类,如需要高效随机访问则...
【标题】:“curso-java-pildorasInf:从头开始学习Java” 这门“从头开始学习Java”的课程,源自"PillsInformática"的教育资源,旨在为初学者提供全面的Java编程知识。Java是一种广泛使用的面向对象的编程语言,由...
【标题】"ks-java-lib:包含 Java 的 KS 库" 提供的是一个专门为 Java 开发者设计的库,它扩展了 Java 的功能,为开发者在处理特定任务时提供了便利。这个库可能包含了丰富的类和方法,旨在简化开发过程,提高代码的...
在Java项目中,首先需要将`lib`目录下的`Spire.Doc.jar`库文件引入到类路径中。然后,可以通过以下基本步骤开始使用: 1. 创建`Document`对象,加载或新建Word文档。 2. 使用各种API添加或修改文档内容。 3. 调用`...