“。”在Java类名称之后

时间:2018-12-28 14:40:25

标签: java android syntax

public static class RelativeLayout.LayoutParams extends ViewGroup.MarginLayoutParams 

我在Android Studio中遇到了RelativeLayout。为了为容器设置一些参数,我们创建一个RelativeLayout.LayoutParams对象。由于不能在Java类的名称中使用点运算符,因此为什么要在这里使用它,或者它是否还有其他用途。请有人帮我。

3 个答案:

答案 0 :(得分:3)

这是一个[嵌套类](https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html)。在这种情况下,LayoutParams是在RelativeLayout类内部声明的类。

答案 1 :(得分:0)

.运算符用于指定类的成员-在这种情况下为内部类。

因此,这里有一个名为LayoutParams的静态内部类,它是RelativeLayout的内部类,并且扩展了MarginLayoutParams的静态内部类ViewGroup

答案 2 :(得分:0)

这是一个嵌套类,可以像这样定义嵌套类。对于您的实例:

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仍然是一个类,无论是否根据其创建对象,都没有计量器。