将你当前的目录路径加到 CLASSPATH中去

解决方案 »

  1.   

    可是我的CLASSPATH已经加了"."了,不就是表示编译的时候,在当前目录找么??!!
      

  2.   

    奇怪的是:
    因为程序中需要使用stackTest2中的成员变量,我又不想使用public型
    于是我改成子类继承class stackTest3 extends StackTest2结果编译通过,怎么回事啊????!!!
      

  3.   

    package myStack;class stackTest3 
    {
    ……
    }
      

  4.   

    楼上什么意思啊?各位GGJJ,已经2天了呀,还没解决,拜托了!!
      

  5.   

    1:我终于知道问题所在了,原来是stackTest2这个父类,没有定义为public,所以才会提示找不到该类!我也就是只想在stackTest3这个子类中引用父类的部分方法,还有成员变量!
    所以用继承来用,不知道这种思想对不,小弟初学,问问大家!!2:因为我写的是数组模拟堆栈计算表达式的程序,所以堆栈指针是需要变化的,而数组大小是我固定的,所以我在父类这样定义
    protected final int maxSize = 20;
       protected final int[ ] aStack = new int[ maxSize ];
       protected static int top = -1;我想问的是,我在子类的main()方法中用到了top变量,因为main()方法是static的
    是不是top也必须这样static!proctected和final没用错吧,按我的需求!
    因为我只想在子类总引用,而不是全局!
    希望高手指点一下,小弟,万分感激!!
      

  6.   

    1. 每一个编译单元一定要有一个且只有一个public 类。
    2. 如果你想用一个类的部分功能,最好别用继承,而new一个那个类的对象就好了。除非是一类东西才用继承。
    3. 如果你用了继承,那么static方法引用本类中的变量一定要用static的,final已经包含static的含义了。所以你那几个变量用的没有错。
      

  7.   

    如果你想用一个类的部分功能??楼上的,我还需要使用它的top成员变量啊!!
      

  8.   

    我再问问,我在stackTest3这样:
    stackTest3 stack1 = new stackTest3( );
    stackTest3 stack2 = new stackTest3( );因为父类中的top成员变量已经变成了4,而我需要在stackTest3子类中引用,但由于是static
    的,所以,我不得不这样stack1.top=-1;
    但是发现stack1.top+1的时候,stack2中的也肯定+1了,其实都是这个static静态变量的原因但如果不用,我在子类的static void main()中又不能使用,怎么解决这个问题?
    难道非要这样,top定义为全局(public),然后不继承,使用stackTest2创建两个新对象!!
    急呀!!!
      

  9.   

    你可以不把top设为static,然后由于你是继承了stackTest3, top就自动被继承了,你可以在main中new一个stackTest2,然后就可以用了。
      

  10.   

    你的意思是
    stackTest2 stack1 = new stackTest2( );
    stackTest2 stack2 = new stackTest2( );而不是用子类stackTest3 stack1 = new stackTest3( );
    stackTest3 stack2 = new stackTest3( );