我目前正在学习Java,想知道我可以在变量,方法和类之前键入什么样的关键字?
例如,我可以声明一个变量,方法,类,如下所示:
public final int exampleVariable;
public static double exampleMethod () {}
public class exampleClass {}
这些代码还能写些什么?我只是想知道如何特别地声明变量,方法和类。请帮忙。
答案 0 :(得分:0)
我不建议您以这种方式学习编程语言。我认为,按照教程或书并逐步学习关键字的方法,对您来说更有用。这是因为某些关键字非常普遍,而另一些关键字的使用却非常有限。一次了解所有这些对您没有多大帮助。
无论如何,如果您真的想知道类,方法和变量声明之前的内容,可以参考Java Language Specification。它以非常精确的方式描述了Java语言。例如,根据JLS第8.1节,类声明是这样的:
NormalClassDeclaration:
{ClassModifier} class Identifier [TypeParameters] [Superclass] [Superinterfaces] ClassBody
由于您要问class
之前可以做什么,所以我想您对{ClassModifier}
部分感兴趣:
ClassModifier:
(one of)
Annotation public protected private
abstract static final strictfp
这意味着在单词class
之前,ClassModifier
中可能列出0个或多个事物。
请注意,此后还有一段文字描述了哪些修饰符组合会导致编译时错误。
有关方法,请参见8.4节。对于局部变量,这是第14.4节。对于字段,请参见第8.3节。
如果您对用来描述Java语法的语法感到困惑,请参阅第2.4节。
答案 1 :(得分:0)
像@Azhy一样,该网站用于解决特定问题,不提供教程。但是,话虽如此,我会尽力为您提供所需的信息。
公共/私人/受保护的:
这些关键字可以应用于类,变量或方法。它们会更改变量的范围(即可以从中访问变量的位置)。这个方便的表是从以下堆栈溢出问题中提取的:What is the difference between public, protected, package-private and private in Java?
│ Class │ Package │ Subclass │ Subclass │ World
│ │ │(same pkg)│(diff pkg)│
────────────┼───────┼─────────┼──────────┼──────────┼────────
public │ + │ + │ + │ + │ +
────────────┼───────┼─────────┼──────────┼──────────┼────────
protected │ + │ + │ + │ + │
────────────┼───────┼─────────┼──────────┼──────────┼────────
no modifier │ + │ + │ + │ │
────────────┼───────┼─────────┼──────────┼──────────┼────────
private │ + │ │ │ │
+ : accessible
blank : not accessible
静态:
static关键字只能应用于类内部的方法和变量。这意味着变量或方法仅创建一次,并且在类的所有实例之间共享。这允许在多个对象之间共享一个值,这意味着必须通过类而不是对象访问静态变量和方法。 注意:从技术上讲,类也可以是静态的,但前提是必须在另一个类声明中声明它们,即嵌套类
最终
此关键字只能应用于变量,方法和类。 最后一个变量是价值不变的变量。 最后一类是不能被子类化的类。 最终方法是不能被子类覆盖或隐藏的方法。
int / double / void / etc。
当应用于变量时,它们定义变量的类型。应用于方法时,这些方法定义了方法必须输出的类型(void表示该方法不返回任何内容,只能应用于方法)
最后,我确定还有很多我个人不知道的东西。我建议浏览以下列表:https://en.wikipedia.org/wiki/List_of_Java_keywords