声明变量,方法和类?

问题描述 投票:0回答:2

我目前正在研究java,想知道在变量,方法和类之前我可以输入什么样的关键字?

举个例子,我可以声明一个变量,方法,类,如下所示:

public final int exampleVariable;

public static double exampleMethod () {}

public class exampleClass {}

我还能在这些代码中写下什么?我只想知道具体如何声明变量,方法和类。请帮忙。

java class variables methods variable-declaration
2个回答
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节中对它们进行了解释。


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 /双/空/等。

当应用于变量时,这些定义变量的类型。当应用于方法时,这些定义了方法必须输出的类型(void表示它不返回任何内容,并且只能应用于方法)

最后,我确信还有更多我个人不了解的内容。我建议查看此列表:https://en.wikipedia.org/wiki/List_of_Java_keywords

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