""после имени класса Java - PullRequest
0 голосов
/ 28 декабря 2018
public static class RelativeLayout.LayoutParams extends ViewGroup.MarginLayoutParams 

Я пришел вместе с RelativeLayout в андроид студии.Чтобы установить некоторые параметры для контейнера, мы создаем объект RelativeLayout.LayoutParams.Поскольку оператор точки не может использоваться в имени класса java, почему он используется здесь или это что-то еще?Пожалуйста, кто-нибудь, помогите мне в этом.

Ответы [ 3 ]

0 голосов
/ 28 декабря 2018

Это вложенный класс, и вложенные классы могут быть определены таким образом.Для вашего экземпляра:

RelativeLayout.LayoutParams является вложенным классом RelativeLayout.

Пример вложенного класса:

class OuterClass {
   ...
class NestedClass {
    ...
   }
}

Информация о вложенных классах: https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

RelativeLayout.LayoutParams, как и все другие классы, является классом из-за его объявления:

public static class RelativeLayout.LayoutParams extends ViewGroup.MarginLayoutParams 
{

....
}

RelativeLayout.LayoutParams по-прежнему является классом, без метра, если вы создаете из него объект или нет.

0 голосов
/ 28 декабря 2018

Это [вложенный класс] (https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html). В этом случае LayoutParams - это класс, объявленный внутри класса RelativeLayout.

0 голосов
/ 28 декабря 2018

Оператор . используется для указания члена класса - в данном случае, внутреннего класса.

Итак, у вас есть статический внутренний класс с именем LayoutParams, который является внутренним классомRelativeLayout и расширяет статический внутренний класс MarginLayoutParams из ViewGroup.

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