[英]Declaring variables, methds and classes?
我目前正在學習Java,想知道可以在變量,方法和類之前鍵入什么樣的關鍵字?
例如,我可以聲明一個變量,方法,類,如下所示:
public final int exampleVariable;
public static double exampleMethod () {}
public class exampleClass {}
這些代碼還能寫些什么? 我只是想知道如何特別地聲明變量,方法和類。 請幫忙。
我不建議以這種方式學習編程語言。 我認為,按照教程或書並逐步學習關鍵字的方法,對您來說更有用。 這是因為某些關鍵字非常普遍,而另一些關鍵字的使用卻非常有限。 一次了解所有這些信息對您沒有多大幫助。
無論如何,如果您真的想知道類,方法和變量聲明之前的內容,可以參考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節。
就像@Azhy評論的一樣,該網站用於解決特定問題而不提供教程。 但是,話雖如此,我會盡力為您提供所需的信息。
公共/私營/保護:
這些關鍵字可以應用於類,變量或方法。 它們更改變量的范圍(即可以從中訪問變量的位置)。 這個方便的表來自以下堆棧溢出問題: Java中public,protected,package-private和private之間有什么區別?
│ 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.