黑马程序员技术交流社区

标题: 今天抄视频中的代码,发现个问题! [打印本页]

作者: tinyvampire    时间: 2015-4-25 13:58
标题: 今天抄视频中的代码,发现个问题!
今天抄视频中的代码,发现一个问题,自己不清楚原理!毕老师视频中的有这些代码是复制粘贴的,这样没有问题,自己写的也没有问题。今天自己在复制时,不小心摁成了剪切,然后就继续粘贴了几次,心里觉得没有影响,可编译通不过。
源代码:
import java.util.*;

class  CollectionDemo
{
    public static void main(String[] args)
    {
        method_get();
    }
    public static void method_get()
    {
        ArrayList al1 = new ArrayList();
        al1.add("java01");//这4句都是我剪切、粘贴后修改的语句。我是将 al1.add("java01");这句剪切后,然后再粘贴了4次,将后边的修改了,结果出错了。
        al2.add("java02");
        al3.add("java03");
        al4.add("java04");

        ArrayList al2 = new ArrayList();
        al2.add("java01");
        al2.add("java02");
        al2.add("java05");
        al2.add("java06");

        sop("al:"+al1);
        sop("al2:"+al2);
    }
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }
}
编译结果不通过!
D:\itheima\day14>javac CollectionDemo.java
CollectionDemo.java:14: 找不到符号
符号: 变量 al2
位置: 类 CollectionDemo
                al2.add("java02");
                ^
CollectionDemo.java:15: 找不到符号
符号: 变量 al3
位置: 类 CollectionDemo
                al3.add("java03");
                ^
CollectionDemo.java:16: 找不到符号
符号: 变量 al4
位置: 类 CollectionDemo
                al4.add("java04");
                ^
最后我自己又重新把那段敲了一遍,发现编译、运行都没有问题,这时什么原理?我用的是EditPlus软件,求大神解释。虽然是误操作,但我想知道原理。。。

作者: 曾宇    时间: 2015-4-25 14:03
从上往下,我只看到al1和al2的对象。
在你调用al2,al3,al4之前,并没有这些变量,所以编译异常,找不到指定的符号
作者: l763631191    时间: 2015-4-25 14:04
   ArrayList al1 = new ArrayList();
        al1.add("java01");//这4句都是我剪切、粘贴后修改的语句。我是将 al1.add("java01");这句剪切后,然后再粘贴了4次,将后边的修改了,结果出错了。
        al2.add("java02");
        al3.add("java03");
        al4.add("java04");
我靠 都是al1,才行,你都没声明al2,al3,al4,你是怎么用的?
作者: tinyvampire    时间: 2015-4-25 16:12
额,我错了,看错了!多谢。。。
作者: tinyvampire    时间: 2015-4-25 16:13
l763631191 发表于 2015-4-25 14:04
ArrayList al1 = new ArrayList();
        al1.add("java01");//这4句都是我剪切、粘贴后修改的语句。 ...

额,我看错了,粗心啊。。。多谢!
作者: tinyvampire    时间: 2015-4-25 16:15
曾宇 发表于 2015-4-25 14:03
从上往下,我只看到al1和al2的对象。
在你调用al2,al3,al4之前,并没有这些变量,所以编译异常,找不到指定 ...

是我自己弄错了,不好意思啊,浪费大家时间了!:Q
作者: ixue    时间: 2015-4-25 17:11
这个我倒看得明白
作者: zgjswp    时间: 2015-4-25 19:06
没有定义集合对象就想用当然出错了
作者: tinyvampire    时间: 2015-4-25 19:17
zgjswp 发表于 2015-4-25 19:06
没有定义集合对象就想用当然出错了

恩恩,是我自己改错了,不是剪切的问题。
作者: 孙海滨    时间: 2015-4-25 20:25
不明觉厉
作者: an_lucas    时间: 2015-4-25 20:39
好像是这么回事




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