方法块之外可用的操作[关闭]

问题描述 投票:-4回答:3

类中包含的区域是什么,并没有包含在java中调用的任何方法或块中?

我们可以在这做什么操作?

java中是否存在全局概念?

java object
3个回答
2
投票

Java没有“全局”的概念。类具有自己的主要范围,即顶级范围。您只能声明类成员字段(类变量,或在某些语言中调用的属性,如python,kotlin,c#,c ++等)或方法,构造函数,静态块或内部类。访问它们的唯一方法是它们是否可见并且声明为静态或通过实例访问。


2
投票

如您所见,您可以声明方法。您还可以声明/初始化字段,构造函数,嵌套接口和类;以及静态和实例初始化块。

该区域称为类体


JLS §8.1.6

类主体可以包含类成员的声明,即字段(第8.3节),方法(第8.4节),类(第8.5节)和接口(第8.5节)。

类主体还可以包含实例初始值设定项(第8.6节),静态初始化程序(第8.7节)和类的构造函数声明(第8.8节)。


0
投票

全局没有概念或任何关键字,但是您选择的类中的公共静态变量可以有效地用作全局变量(可以从代码中的任何位置访问)。

正如在评论中已经提到的,在java中经常用于执行“全局”o独特操作的概念是Singleton(设计模式) - 一个类只能有一个实例(你只能使用它的构造函数一次)。那个实例存储在它的类的静态字段中,所以在某种程度上使用了我已经提到过的技巧(可以通过getter访问,而不是公共访问)。

我不知道Java中类的内部的精确名称,但你在那里做的主要是声明字段和子类(当然还有方法,但你已经提到过了)。

© www.soinside.com 2019 - 2024. All rights reserved.