黑马程序员技术交流社区
标题: 这里面到底还错在哪里? [打印本页]
作者: 云水禅心 时间: 2013-10-27 08:47
标题: 这里面到底还错在哪里?
本帖最后由 云水禅心 于 2013-10-27 18:26 编辑
以下这段代码,错误之处我已经找出来了一个,
修改之后编译还是不通过,不知道哪里还不对劲?
谢谢各位帮我查看查看。
其错误是:(1)public static voidmain(String args[])这句错误,即内部类中的静态申明非法。
当内部类中定义了静态成员,该内部类必须是静态的。所以应该改成:public void main(String args[])
import java.util.ArrayList;
class Data //外部类
{
intval;
public class Test3 //内部类
{
public static void main(String args[]) //内部类中的静态成员。
{
Data data = new Data();
ArrayList<Data>list = new ArrayList<Data>();
for(int i = 100; i < 103; i++)
{
data.val = i;
list.add(val);
}
for (Data d : list)
{
System.out.println(d.val);
}
}
voidadd()void function()
{
//intx = 6;
System.out.println("innner:"+Outer.this.x);
}
作者: Jim-剣◆﹏ 时间: 2013-10-27 09:13
你确定你把所有代码都复制上来了?
作者: 云水禅心 时间: 2013-10-27 09:30
- import java.util.ArrayList;
- class Data //外部类
- {
- int val;
- public class Test3 //内部类
- {
- Public static void main(String args[]) //内部类中的静态成员。
- {
- Data data = new Data();
- ArrayList<Data> list = new ArrayList<Data>();
- for (int i = 100; i < 103; i++)
- {
- data.val = i;
- list.add(val);
-
- }
- for (Data d : list)
- {
- System.out.println(d.val);
- }
- }
-
- void add()void function()
- {
- //int x = 6;
- System.out.println("innner :"+Outer.this.x);
- }
- }
- }
-
复制代码 这些就是全部代码了。
作者: 睡不够的猪 时间: 2013-10-27 10:30
- import java.util.ArrayList;
- class Data //外部类
- {
- int val;
- public static class Test3 //因为内部类中有静态成员 所以该内部类必须是静态的
- {
- public static void main(String args[]) //这个是主函数的固定格式 不能修改 所以只能将类加静态
- {
- Data data = new Data();
- ArrayList<Integer> list = new ArrayList<Integer>();//因为下面list.add 添加的是整形的包装类 所以泛型要定义为Integer
- for (int i = 100; i < 103; i++)
- {
- data.val = i;
- list.add(new Integer(data.val));//1、静态方法 不能直接调用外部类中非静态成员 只能对象调用 所以此处要用data.val
- //2、集合中不能添加基本数据类型 所以要把data.val包装成整形对象添加
-
- }
- for (Integer d : list) //因为list中装的是整形对象 所以遍历后的结果也是Integer
- {
- System.out.println(d);
- }
- new Test3().add();//静态调用非静态 只能对象调用
- }
-
- void add()
- {
- int x = 6;
- System.out.println("innner :"+x);
- }
- }
- }
复制代码
作者: To 时间: 2013-10-27 16:28
楼主你好,如果问题已解决请将帖子状态修改为提问结束,
如果未解决请继续追问,谢谢合作
修改方法请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html
作者: 云水禅心 时间: 2013-10-27 18:28
谢谢帮忙
我知道是什么原因了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |