黑马程序员技术交流社区

标题: 编译错误,求各位大哥哥大姐姐 解释下, [打印本页]

作者: 唐学松    时间: 2012-2-11 11:10
标题: 编译错误,求各位大哥哥大姐姐 解释下,
本帖最后由 唐学松 于 2012-2-13 23:08 编辑

class person

{        public static void main(String[] args)
        {
       
        int age;
       
        void shout();
       
        {
                int age=60;
                System.out.println("my age is " + age);
                }
        }
}


编译错误,求各位大哥哥大姐姐 解释下,
作者: 黑马唐浩    时间: 2012-2-11 11:16
void shout()后面多了个分号。
作者: 唐学松    时间: 2012-2-11 11:32
黑马唐浩 发表于 2012-2-11 11:16
void shout()后面多了个分号。

大哥,去了分号,还是不行
作者: 黑马唐浩    时间: 2012-2-11 11:42
本帖最后由 黑马唐浩 于 2012-2-11 11:44 编辑
唐学松 发表于 2012-2-11 11:32
大哥,去了分号,还是不行


不好意思,刚没注意看。
你看看改成这样行么,不知道符合不符合你的意思
不懂再问 注意static。
public class Person
{
        static int age;

        public static void main(String[] args)
        {
                        shout();
        }

        static void shout()
        {
                age = 60;
                System.out.println("my age is " + age);
        }
}
作者: 吴超    时间: 2012-2-11 11:43
本帖最后由 wuchao2877 于 2012-2-12 16:12 编辑

public class Demo
{  public static void main(String[] args)
   {
    Person p = new Person();
    p.age=30;
    p.shout();
   }
}
class Person
{
  int age;
  void shout()
  {
   int age=60;
   System.out.println("my age is"+age);
  }
  
}
void shout()后面不要;
;表示这句结束

作者: 任增涛    时间: 2012-2-11 11:50
正确代码:
class person

{        public static void main(String[] args)
        {
        int age;
                shout();
        }
         public static void shout()
        {
                int age=60;
                System.out.println("my age is " + age);
        }
}
这样才能出结果!
第一,你不能把定义好的函数放在主函数里。
第二, public static void shout()一定要是静态的!
第三,public static void shout()末尾不用加分号!
作者: 唐学松    时间: 2012-2-11 11:54
黑马唐浩 发表于 2012-2-11 11:42
不好意思,刚没注意看。
你看看改成这样行么,不知道符合不符合你的意思
不懂再问 注意static。

[img


我想实现这个,
还有个问题,请教大哥



作者: 彭坤    时间: 2012-2-11 11:55
静态方法里不能直接调用非静态方法,所以可以如下进行修改:
public class Person {
        public static void main(String[] args) {
                shout();
        }
        int age;
        static void shout(){
               int age=60;
               System.out.println("my age is " + age);
        }
}
如果需要直接调用,那么采用如下方法:
public class Person {
        public static void main(String[] args) {
                Person person = new Person();
                person.shout();
        }
        int age;
         void shout(){
               int age=60;
               System.out.println("my age is " + age);
        }
}


作者: 黑马唐浩    时间: 2012-2-11 12:00
唐学松 发表于 2012-2-11 11:54
[img

javac命令跟的是 ***.java
java命令跟的是 ***
你执行javac命令的时候没有加.java
作者: 彭坤    时间: 2012-2-11 12:24
唐学松 发表于 2012-2-11 11:54
[img


public class Test {
        public static void main(String[] args) {
                Person person = new Person();
                person.shout();
        }
}

class Person {
    int age;
     void shout(){
           int age=60;
           System.out.println("my age is " + age);
    }
}

编译和运行java程序的方法是:
编译  javac Person.java
运行  java Person





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