首页 > 试题广场 >

内部类可以引用他包含类的成员吗?有没有什么限制?

[问答题]
请说明内部类可以引用他包含类的成员吗,如果可以,有没有什么限制吗?
一个内部类对象可以访问创建它的外部类对象的内容,内部类如果不是static的,那么它可以访问创建它的外部类对象的所有属性内部类如果是sattic的,即为nested class,那么它只可以访问创建它的外部类对象的所有static属性一般普通类只有public或package的访问修饰,而内部类可以实现static,protected,private等访问修饰。当从外部类继承的时候,内部类是不会被覆盖的,它们是完全独立的实体,每个都在自己的命名空间内,如果从内部类中明确地继承,就可以覆盖原来内部类的方法。
发表于 2019-05-02 00:54:48 回复(0)
更多回答
完全可以,如果不是静态内部类,那没有什么限制! 如果你把静态嵌套类当作内部类的一种特例,那在这种情况下不可以访问外部类的普通 成员变 量,而只能访问外部类中的静态成员
发表于 2019-03-16 22:57:55 回复(0)
如果不是静态内部类,完全可以。那没有什么限制!
在静态内部类下,不可以访问外部类的普通成员变量,而只能访问外部类中的静态成员
发表于 2019-05-03 20:56:18 回复(0)
内部类分为两种:
1.非静态内部类
   # 非静态方法
      # 可以访问包含类的成员变量
          # 静态成员变量,包括public,protected,private
          # 非静态成员变量,包括public,protected,private
   # 静态方法(非静态内部类不能有静态方法)
   # 必须依附外部类,也就是只有实例化了包含类了后,再用特殊语法才能实例化内部类
2.静态内部类
   # 非静态方法
      # 包含类非静态成员:不能访问
      # 包含类的静态成员:可以访问
   # 静态方法
      # 包含类的非静态成员:不能访问
      # 包含类的静态成员:可以访问


发表于 2019-03-02 19:38:14 回复(0)
当内部类为静态内部类时他只能调用外部类的静态方法。如果内部类为非静态内部类时则调用无限制。
主要是编译时就会加载静态类,而非静态类在运行时才会加载。所以如果静态类部类无法调用非静态外部类
发表于 2019-03-12 20:23:37 回复(0)
成员内部类:必须寄存于外部类,外部类对象存在,它才能创建对象;可以访问外部类所有属性方法,包括私有的;类中不能有静态成员和静态方法! 静态内部类:他的存在与外部类无关.;只能访问外部类静态属性方法;可以有普通变量方法,也可以是静态的
发表于 2019-01-30 12:10:04 回复(0)