Объявление переменных, методов и классов? - PullRequest
0 голосов
/ 16 сентября 2018

В настоящее время я изучаю Java и хотел узнать, какие ключевые слова я могу набрать перед переменной, методом и классом?

Например, я могу объявить переменную, метод, класс следующим образом:

public final int exampleVariable;

public static double exampleMethod () {}

public class exampleClass {}

Что еще я могу написать в этих кодах? Я просто хотел узнать, как конкретно я могу объявить переменную, метод и класс. Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 16 сентября 2018

Как прокомментировал @Azhy, этот сайт предназначен для решения конкретных проблем, а не для обучения.Однако, несмотря на это, я сделаю все возможное, чтобы предоставить вам необходимую информацию.

public / private / protected:

Эти ключевые слова могут применяться к классу, переменнымили методы.Они изменяют область действия переменной (т. Е. Откуда можно получить доступ к переменной).Эта удобная таблица была взята из вопроса переполнения стека: В чем разница между общедоступным, защищенным, закрытым для пакета и частным в Java?

            │ Class │ Package │ Subclass │ Subclass │ World
            │       │         │(same pkg)│(diff pkg)│ 
────────────┼───────┼─────────┼──────────┼──────────┼────────
public      │   +   │    +    │    +     │     +    │   +    
────────────┼───────┼─────────┼──────────┼──────────┼────────
protected   │   +   │    +    │    +     │     +    │         
────────────┼───────┼─────────┼──────────┼──────────┼────────
no modifier │   +   │    +    │    +     │          │    
────────────┼───────┼─────────┼──────────┼──────────┼────────
private     │   +   │         │          │          │    

+ : accessible
blank : not accessible

static:

Ключевое слово static можно применять только к методам и переменным внутри классов.Это означает, что переменная или метод создаются только один раз и используются всеми экземплярами класса.Это позволяет использовать одно значение для нескольких объектов и означает, что статические переменные и методы должны быть доступны через класс, а не объект. ПРИМЕЧАНИЕ. Технически классы тоже могут быть статическими, но только если они объявлены в другом объявлении класса, то есть вложенном.классы

Final

Это ключевое слово может применяться только к переменным, методам и классам.Последняя переменная - это та, чье значение не может измениться.Последний класс - это класс, который нельзя разделить на подклассы.Последний метод - тот, который не может быть переопределен или скрыт подклассами.

int / double / void / и т. Д.

При применении к переменной они определяют типпеременная.При применении к методам они определяют тип, который должен выводить метод (void означает, что он ничего не возвращает и может применяться только к методам)

Наконец, я уверен, что есть еще много, о которых я лично не знаю,Я рекомендую просмотреть этот список: https://en.wikipedia.org/wiki/List_of_Java_keywords

0 голосов
/ 16 сентября 2018

Я не рекомендую изучать язык программирования таким образом.Я думаю, что для вас более полезно следовать учебнику или книге и постепенно выучить ключевые слова.Это потому, что некоторые ключевые слова очень распространены, в то время как другие имеют очень ограниченное использование.Знание их всех сразу не поможет вам.

В любом случае, если вы действительно хотите знать, что происходит до объявления класса, метода и переменной, вы можете обратиться к Спецификации языка Java.Он описывает язык Java очень точно.Например, объявление класса выглядит следующим образом, в соответствии с разделом 8.1 JLS:

NormalClassDeclaration:
    {ClassModifier} class Identifier [TypeParameters] [Superclass] [Superinterfaces] ClassBody

Поскольку вы спрашиваете, что может идти до class, я полагаю, что вас интересует часть {ClassModifier}:

ClassModifier:
(one of) 
    Annotation public protected private 
    abstract static final strictfp

Это означает, что перед словом class может быть 0 или более вещей, перечисленных в ClassModifier.

Обратите внимание, что после этого также есть текст, который описывает, какиекомбинации модификаторов вызовут ошибку времени компиляции.

Для методов это раздел 8.4.Для локальных переменных это раздел 14.4.Для полей это раздел 8.3.

Если вас смущает синтаксис, используемый для описания синтаксиса Java, они объяснены в разделе 2.4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...