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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 唐学松 于 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);
                }
        }
}


编译错误,求各位大哥哥大姐姐 解释下,

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1 请把求助改成已解决 谢谢合作

查看全部评分

9 个回复

倒序浏览
void shout()后面多了个分号。
回复 使用道具 举报
黑马唐浩 发表于 2012-2-11 11:16
void shout()后面多了个分号。

大哥,去了分号,还是不行
回复 使用道具 举报
本帖最后由 黑马唐浩 于 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);
        }
}

评分

参与人数 2技术分 +1 黑马币 +1 收起 理由
唐秀启 + 1
唐学松 + 1 乐于助人

查看全部评分

回复 使用道具 举报
本帖最后由 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()后面不要;
;表示这句结束

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
正确代码:
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()末尾不用加分号!

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
唐学松 黑马帝 2012-2-11 11:54:45
7#
黑马唐浩 发表于 2012-2-11 11:42
不好意思,刚没注意看。
你看看改成这样行么,不知道符合不符合你的意思
不懂再问 注意static。

[img


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


回复 使用道具 举报
彭坤 中级黑马 2012-2-11 11:55:15
8#
静态方法里不能直接调用非静态方法,所以可以如下进行修改:
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 11:54
[img

javac命令跟的是 ***.java
java命令跟的是 ***
你执行javac命令的时候没有加.java
回复 使用道具 举报
唐学松 发表于 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

评分

参与人数 2技术分 +2 黑马币 +1 收起 理由
admin + 2
唐学松 + 1 非常感谢

查看全部评分

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