Java中private SecondClass声明及SecondClass类定义含义求解
代码含义解释
第一段代码声明含义
代码:private SecondClass FirstClass
这是一个类成员变量的声明,各部分含义如下:
private:访问权限修饰符,限定该变量仅能在声明它的当前类内部被访问,其他任何类都无法直接调用该变量SecondClass:变量的类型,说明该变量只能存储SecondClass类本身或其子类的实例对象FirstClass:变量名,这里不符合Java常规命名规范(通常变量名采用小驼峰格式,首字母小写,类名才会首字母大写),注意和后续提到的父类FirstClass区分,二者没有直接关联,只是命名重复。
第二段SecondClass定义含义
代码:protected static class SecondClass extends FirstClass
这是一个静态内部类的定义(Java中只有内部类允许使用static修饰,顶层类不能加static),各部分含义如下:
protected:访问权限修饰符,限定该内部类可以被同包下的所有类访问,也可以被不同包下的当前外部类的子类访问static:标记该内部类为静态内部类,它不依赖外部类的实例即可直接创建,且仅能访问外部类的静态成员class SecondClass:声明类名为SecondClassextends FirstClass:表示SecondClass是FirstClass(这里指父类,不是第一段代码里的变量名)的子类,会继承父类所有非private的属性和方法,也可以重写父类的非final方法实现自定义逻辑。
二者的关联
- 第一段代码声明的变量的类型
SecondClass,就是第二段代码定义的这个类,你给第一段的变量赋值时,必须传入SecondClass类的实例对象 - 由于
SecondClass继承自父类FirstClass,符合Java向上转型规则,你也可以把第一段的SecondClass类型变量赋值给父类FirstClass类型的变量使用。
内容的提问来源于stack exchange,提问作者Andi Luis
相关产品推荐
相关产品推荐

