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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马朱超 中级黑马   /  2013-3-4 22:43  /  2061 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马朱超 于 2013-3-7 15:10 编辑
  1. package javase;

  2. class Person

  3. {

  4. private int age;//用private私有化类的变量age

  5. public void setAge(int i)

  6.     {

  7.             if(i<0 || i>120)

  8.             return;

  9.            age=i;

  10.     }

  11. public int getAge()

  12.     {

  13.          return age;

  14.      }

  15. public void shout()

  16.      {

  17.      System.out.println(age);

  18.      }

  19. }

  20. class PersonDemo

  21. {


  22.     public static void main(String[] args)

  23.       {

  24.      Person p1= new Person();

  25.     p1.setAge(10);

  26.     p1.setAge(-6);

  27.     System.out.println(p1.getAge());

  28.     p1.shout();//调用类p1.shout(),函数shout 调用类中的私有变量age可以得正常访问,用cmd 可以得到结果10,但是通过eclipse就报错了

  29.       }
复制代码
eclipse报错如图

谁可以告诉我这eclipse哪里不和谐了,偶不知道如何下手改正。

报错private-eclipse.jpg (16.53 KB, 下载次数: 112)

报错private-eclipse.jpg

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1 5分以下,鼓励一下~

查看全部评分

8 个回复

倒序浏览



class Person
{

private int age;//用private私有化类的变量age
public void setAge(int i)
    {
             if(i<0 || i>120)
        //return;  //这个地方是不用加return
           age=i;
    }

public int getAge()
    {

         return age;
     }

public void shout()
     {

     System.out.println(getAge);  //此处要用getAge获取值,不能用age ,因这age 已经私有化了

     }


}


class PersonDemo
{
    public static void main(String[] args)
  {
     Person p1= new Person();
    p1.setAge(10);

   p1.setAge(-6);


    System.out.println(p1.getAge());


    p1.shout();//调用类p1.shout(),函数shout 调用类中的私有变量age可以得正常访问,用cmd 可以得到结果10,但是通过eclipse就报错了


      }
}
回复 使用道具 举报
看下你这两个类是不是都在这个javase包中。
回复 使用道具 举报
文密 发表于 2013-3-4 23:08
class Person
{

if 语句里面的return是可以省略;
但是shout()里面改成
System.out.println(getAge());没效果,还是报错
回复 使用道具 举报
Just_Only 发表于 2013-3-5 08:32
看下你这两个类是不是都在这个javase包中。

仔细看了一下,都在一个包里啊。卸载一个java文件中的。
回复 使用道具 举报
Eclipse 哪位用的懂一点,,,,,莫名错误搞不懂
回复 使用道具 举报
黑马朱超 发表于 2013-3-5 09:37
Eclipse 哪位用的懂一点,,,,,莫名错误搞不懂

你把你的那个包名去掉就可以了。  我在Eclipse上运行是好的啊     
回复 使用道具 举报
7楼的答案解决问题了吗,如果ok了,请将分类改成【已解决】。
回复 使用道具 举报
陈丽莉 发表于 2013-3-7 13:55
7楼的答案解决问题了吗,如果ok了,请将分类改成【已解决】。

恩,谢谢提醒,忘改状态了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马