黑马程序员技术交流社区

标题: 内部类访问的规则 [打印本页]

作者: 自闭宅男    时间: 2014-7-4 18:18
标题: 内部类访问的规则
在内部类访问中具体有哪些规则?

作者: 俞剑飞    时间: 2014-7-4 18:33
内部类可以直接访问外部类的成员,包括私有成员。外部类访问内部类需要建立内部类的对象。
作者: 自闭宅男    时间: 2014-7-4 19:21
能分别说说内部访问外部类中成员和外部访问内部累格式的不同吗?
作者: 张盼    时间: 2014-7-4 22:16
内部类分为成员内部类和局部内部类
内部类可以访问外部类的所有成员包括私有的
外部类要访问内部类就要创建内部类的对象
局部内部类的访问规则:
外部类名.内部类名 变量名 = new外部类对象.内部部类对象

局部内部类也称为匿名内部类,访问规则:
new 外部类名或者接口名() {
                        重写类或者接口中的方法,也可以自己定义方法
                };
作者: 南柯一梦    时间: 2014-7-5 00:27
--内部类是定义在外部类中的类
--内部类访问规则?
(1)内部类可以直接访问外部类成员,包括私有,因为内部类中有了一个外部类引用
         格式:外部类名.this
(2)外部类要访问内部类,必须建立内部类对象
        --访问格式
        1 --当内部类定义在外部类成员位置上,而且非私有,可以在外部其它类中,可以直接
             建立内部类对象
          --格式    外部类名.内部类名 变量名=外部类对象.内部类对象
        2:当内部类在成员位置,上,就可以被成员修饰符所修饰,比如,private:将内部类在外部类进行封装
               static:内部类具备静态
             (1)当内部类被静态修饰后,只能直接访问外部类中static成员,出现了访问局限
                  -- 在外部其它类中如何直接访问内部类的非静态内部成员?
                      new 外部类名.内部类名.方法名();----方法:非静态成员
                   --在外部其它类中,如何直接访问static内部类的静态成员?
                       外部类名.内部类名.方法名();-
           (2)注意
            --1:当内部类中定义了静态成员,该内部类必须是static的
            --2:当外部类中静态方法访问内部类时,内部类也必须是static的
作者: hmid    时间: 2014-7-5 00:43
内部类:
     静态内部类,可以访问外部类非静态成员;
     非静态内部类(成员内部类),其中有两种特殊的:局部内部类,匿名内部类。可以访问外部类的所有成员。
作者: 自闭宅男    时间: 2014-7-5 08:57
张盼 发表于 2014-7-4 22:16
内部类分为成员内部类和局部内部类
内部类可以访问外部类的所有成员包括私有的
外部类要访问内部类就要创建 ...

内部类可以直接访问外部类是因为内部类中有一个外部类的引用,一般格式是:外部类.this。你说的不错。你好,我想去黑马培训,技术分差的老远,能传授一下这方面经验吗?
作者: 孙妍娜    时间: 2014-7-5 09:35
将一个类定义在另一个类的里面,里面那个类就称为内部类。
规则:
(1)内部类可以直接访问外部类中的成员(成员变量、成员函数),包括私有成员。
之所以可以直接访问外部类中的成员,是因为内部类中持有一个外部类的引用,格式为外部类名.this。
(2)外部类要访问内部类中的成员必须建立内部类的对象。
访问格式:
(1)当内部类定义在外部类的成员位置上时,而且非私有,可以在外部其他类中直接建立内部类的对象
格式(外部类名.内部类名  变量名 =  new  外部类对象.内部类对象;
(2)当内部类在成员的位置上,就可以被成员的修饰符所修饰。
       如private:将内部类在外部类中进行封装。
          static:内部类就就有了static属性。(当内部类被static修饰以后,就是能访问外部类中static成员)

作者: 威猛的小熊    时间: 2014-7-5 10:28
楼上回答的都很全面了。。。。
作者: 曾倩倩    时间: 2014-7-5 10:59
内部类的访问规则:
1,内部类可以直接访问外部类中的成员,包括私有。
        之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式 外部类名.this
2,外部类要访问内部类,必须建立内部类对象。

作者: 霜林醉zhx    时间: 2014-7-5 17:50
毕老师视频,第九天 107,讲得很清楚
作者: 张盼    时间: 2014-7-5 20:20
自闭宅男 发表于 2014-7-5 08:57
内部类可以直接访问外部类是因为内部类中有一个外部类的引用,一般格式是:外部类.this。你说的不错。你 ...

我在传智播客培训呢现在
作者: rekirt    时间: 2014-7-5 20:33
南柯一梦 发表于 2014-7-5 00:27
--内部类是定义在外部类中的类
--内部类访问规则?
(1)内部类可以直接访问外部类成员,包括私有,因为内 ...

回复的很到位,,,给力,,
作者: 寻得美好    时间: 2014-7-5 20:33
总结的很好,学习.........
作者: abc张强8    时间: 2014-7-5 20:55
表示看不太懂
作者: 普哥    时间: 2014-7-5 21:03
内部类的访问规则:
1.内部类可以直接访问外部类中的成员,包括私有
2.外部类要访问内部类,必须建立内部类对象
3.当内部类在成员位置上,就可以被成员修饰符修饰

4.方法内部类(局部内部类)
  把类放在方法内
4.1、方法内部类只能在定义该内部类的方法内实例化,不可以在此方法外对其实例化
4.2、方法内部类对象不能访问该内部类所在方法的非final局部变量  
4.3、方法内部类的修饰符
     与成员内部类不同,方法内部类更像一个局部变量
     可以用于修饰方法内部类的只有final和abstract
4.4、静态方法内的方法内部类
     静态方法是没有this引用的,因此在静态方法内的内部类遭受同样的待遇,即:只能访问外部类的静态成员

5.匿名内部类
    匿名内部类就是内部类的简写格式
    定义匿名内部类的前提:内部类必须继承一个类或实现接口
    匿名内部类就是一个匿名子类对象
  格式:new 父类或者接口(){定义子类的内容}
作者: 自闭宅男    时间: 2014-7-5 21:12
张盼 发表于 2014-7-5 20:20
我在传智播客培训呢现在

你那边有亲友卷什么的吗,我技术分还差好远,有什么好的帖子或者刷技术分的方法告诉一下啊
作者: 张盼    时间: 2014-7-5 22:41
没有啊,我这都是在论坛上回答问题弄到的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2