A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wodeairenw 中级黑马   /  2013-4-24 15:00  /  1984 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wodeairenw 于 2013-4-24 20:57 编辑

已解决。。。

13 个回复

倒序浏览
我这样理解:
比如说人和心的关系。
心就是内部类。
测试代码如下:
class Person
{
        int name;
        class Heart
        {
                void run()
                {
                        System.out.println("心在跳");
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
public class Out {
     public class Inner{
                                  //是外部类         
                Out out = new Out ();
                                  //实例内部类
                     // Inner inner= out.new Inner();
                Out .Inner inner= out.new Inner();
       }
}

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
在外部类里边创建一个内部类,而这个内部类可以实例化!代码上边的朋友写了不写了。
回复 使用道具 举报
好像应该是这样的吧!
public class Out {
      public Inner inn;     //外部类创建内部类的对象
      public class Inner{
                    //内部类的编写
        }
      .....    .//外部类对内部类的操作
}
回复 使用道具 举报
殇_心。 发表于 2013-4-24 15:27
我这样理解:
比如说人和心的关系。
心就是内部类。

实例(对象?)这两个字怎么理解,你这是说的创建包含有内部类的类
回复 使用道具 举报

public class outer {
       outer(){
               inner in=new inner();
       }
         class inner{
                 inner()
                 {
                         System.out.println("hahahh");
                         
                 }
                void method()
                {
                        //自己定义方法内容
                }
                 
         }
        public static void main(String[] args) {
                // TODO Auto-generated method stub
         outer ou=new outer();
        }
}
创建一个外部类,这个类里面有一个内部类。然后再创建这个外部类的对象。
回复 使用道具 举报
wodeairenw 发表于 2013-4-24 16:11
实例(对象?)这两个字怎么理解,你这是说的创建包含有内部类的类

实例 不就是 举个例子吗?
你怎么理解的?
回复 使用道具 举报
殇_心。 发表于 2013-4-24 16:31
实例 不就是 举个例子吗?
你怎么理解的?

我感觉是匿名内部类对象,但是行不通。因为有别的参数在里面:外部类中定义一个名为str的String字符串并初始化任意值,在内部类中定义跟外部类同种类型且同名的变量;这两个变量一定义后匿名内部类里面的变量会报错,但不要匿名内部类就不报错,不知道为什么

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
wodeairenw 发表于 2013-4-24 16:39
我感觉是匿名内部类对象,但是行不通。因为有别的参数在里面:外部类中定义一个名为str的String字符串并 ...

把你错误代码贴出来呗。哥们。````
回复 使用道具 举报
本帖最后由 wodeairenw 于 2013-4-24 20:58 编辑
殇_心。 发表于 2013-4-24 16:49
把你错误代码贴出来呗。哥们。````
  1. 已解决。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。谢谢。。
复制代码
回复 使用道具 举报
本帖最后由 殇_心。 于 2013-4-24 17:26 编辑

先说个小错误吧:
你把匿名内部类定义在了成员位置上。
这是显然编译失败的。
测试代码如下:
public class Test
{

        String str = "aaa";

      
        
        
        public static void main(String[] args)
        {
        }
        void fun()
        {
                new Object()  //匿名内部类对象:
            {
              String str = "aaaaaa";//这个地方和上面冲突
                void print()
                {

                        //在this前打上类名调用外部类变量

                        System.out.println("外部类str="+Test.this.str);

                        //this可以直接调用内部类变量

                        System.out.println("内部类str="+this.str);

                }
            };
        }
}
回复 使用道具 举报
殇_心。 发表于 2013-4-24 17:24
先说个小错误吧:
你把匿名内部类定义在了成员位置上。
这是显然编译失败的。

谢谢,是我自己没理解好,基础部扎实啊。
回复 使用道具 举报
wodeairenw 发表于 2013-4-24 20:56
谢谢,是我自己没理解好,基础部扎实啊。

互相帮助吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马