local class的scope是local,所以在方法外不可见,这个三楼说过了。
这里有总结:
A
class defined within another class is called a nested class. Like other
members of a class, a nested class can be declared static or not. A
nonstatic nested class is called an inner class. An
instance of an inner class can exist only within an instance of its
enclosing class and has access to its enclosing class's members even if
they are declared private.
http://docs.oracle.com/javase/tutorial/java/javaOO/summarynested.html
但我觉得红色字体部分的说法还是不严谨,在静态上下文中声明的inner class还是不是必须需要instance of its enclosing class呢?比如以下情况:
class Outter {
static void function() {
class Inner {
void show() {
System.out.println("hahaha");
}
}
new Inner().show();
}
}
这种情况怎么解释呢?希望能找到不是不严谨的说法。
However, not all
inner classes have enclosing instances; inner classes in static
contexts, like an anonymous class used in a static initializer block, do
not.
https://blogs.oracle.com/darcy/entry/nested_inner_member_and_top
补充:还是严谨的,can exist
分享到:
相关推荐
在“JAVA语言程序设计”这一主题中,我们将深入探讨Java编程的基础和高级概念,特别关注图形用户界面(GUI)设计、Java图形与事件处理、以及多线程与异常处理。这些知识点是Java开发者必备的技能,对于初学者来说,...
JAVA编程语言和JDBC 323 JDBC编程的步骤 323 实例分析 325 内容总结 335 独立实践 336 第二十章:高级JDBC 337 学习目标 337 使用DDL,DML语言对数据库进行基本操作 338 查询数据库里的数据 339 预编译语句...
`java.lang`包包含了构成Java语言核心的一部分类和接口,如基本数据类型、`String`、`System`、`Thread`等。它是所有其他包的基础,并且默认对所有Java程序可见。例如: - **Basic Data Types**:提供了如`Integer`...
- **简单性**:Java语言设计简洁明了,易于学习和使用。 - **健壮性**:Java拥有严格的错误检测机制,有助于开发健壮的应用程序。 #### 1.2 运行原理 Java程序的运行分为几个阶段: 1. **编写**:使用文本编辑器...
Java Swing 是Java平台上的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于创建桌面应用程序。在"java swing做的图书管理系统"这个项目中,开发人员利用Swing的强大功能构建了一个...
开发这样的项目时,开发者会使用Java SE(标准版)作为后端编程语言,可能结合Spring框架进行依赖注入和AOP(面向切面编程),同时使用Servlet和JSP进行前端交互。此外,构建工具如Maven或Gradle会用来管理依赖,IDE...
### Java全集知识点总结 #### 一、Java的特点与运行原理 **1.1 Java特点** ...以上内容涵盖了Java的基础知识到高级特性,从基本语法到面向对象编程,再到多线程和I/O操作等,全面地介绍了Java语言的核心知识点。
Java Swing是Java Foundation Classes (JFC)的一部分,提供了一组用于创建图形用户界面(GUI)的组件。Swing提供了丰富的组件,如按钮、文本框、面板等,使得开发者能够构建出功能完善的桌面应用程序。本程序作为一...
### Java语言常用的方法名及相关知识点解析 #### 一、Abstract Class 抽象类 - **定义**: 抽象类是一种不允许直接实例化的类,通常用于作为其他类的基础模板。 - **特点**: 抽象类中可以包含抽象方法(abstract ...
标题中的“paike.rar_java 排课_java排课系统_paike_排课系统 java”表明这是一个关于使用Java编程语言开发的排课系统的项目压缩包。这个系统可能包含用于管理学校课程表的增删改查功能,即创建、读取、更新和删除...
- 关键字是Java语言中保留的词汇,具有特殊的含义。 - **示例**:public、private、protected、void、int等。 #### Layout managers (布局管理器) - 布局管理器用于管理GUI组件的排列和位置。 - **示例**:...
类是该语言的基础部分,从类和将功能打包到类中的思考是 Java 开发的一个组成部分。 GitHub 信息 存储库: 你需要 fork 这个仓库并提交一个 pull request 来上交作业。 请将拉取请求的屏幕截图发布到 D2L 保管箱。 ...
对Java语言的每个语法都提供了一个或多个例程讲解 大量使用流程图表示程序的执行过程,使用结构图表示程序的内部状态 每章最后都给出了典型的练习题,让读者及时练习,巩固提高,并提供了参考答案 目录 第1篇 ...
例如,在 articleClass 表中录入新闻类和技术类两条记录,而在 articleSubClass 表中录入时事新闻、行业动态、操作系统、数据库、编程语言等子分类记录。 接下来,需要创建一个表单 bean,即 ArticleClassForm,...
面向对象的思想贯穿了整个Java语言设计的核心。 3. **分布式**:Java天生就支持Internet应用的开发,在Internet上创建分布式程序非常容易。 4. **健壮性**:Java尽力避免错误的发生。在编译和运行时进行大量的检查以...
Swing使用Java语言编写,因此具有跨平台性,能够在多种操作系统上运行,如Windows、Linux和Mac OS。 在竹邑食坊这个菜谱管理软件中,Java Swing发挥了关键作用。首先,开发者可能利用JFrame作为应用程序的基础窗口...
通过以上核心知识点的梳理,我们可以看到Java语言的架构设计与编程实践的全面性,从基础环境的搭建到高级特性的应用,都体现了其作为一门成熟编程语言的强大功能与广泛适用性。对于初学者而言,掌握这些基础知识是...
Java编程语言在软件开发领域广泛使用,特别是在构建桌面应用程序时,常常借助Swing库来创建用户界面。"Java编写的HTML浏览器.rar" 提供的显然是一份使用Java实现的简易HTML浏览器项目,其中可能包含了Swing组件以及...
【Java家庭收支器系统】是一个基于Java编程语言开发的小型桌面应用程序,主要目的是帮助用户管理和追踪他们的日常家庭财务状况。这个系统集成了手动添加监听器的功能,使得用户在交互过程中可以更加灵活地处理收支...
Swing是100%由Java语言编写的,这意味着它是轻量级的组件集合,不依赖于任何特定的操作系统特性。与AWT不同,Swing组件不需要本地对等物,它们在容器窗口中直接绘制,而不是在自己的独立窗口中。这种设计带来了几个...