黑马程序员技术交流社区

标题: private封装时Eclipse 报错看不懂啊 [打印本页]

作者: 黑马朱超    时间: 2013-3-4 22:43
标题: private封装时Eclipse 报错看不懂啊
本帖最后由 黑马朱超 于 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, 下载次数: 118)

报错private-eclipse.jpg

作者: 文密    时间: 2013-3-4 23:08



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就报错了


      }
}

作者: Just_Only    时间: 2013-3-5 08:32
看下你这两个类是不是都在这个javase包中。
作者: 黑马朱超    时间: 2013-3-5 09:35
文密 发表于 2013-3-4 23:08
class Person
{

if 语句里面的return是可以省略;
但是shout()里面改成
System.out.println(getAge());没效果,还是报错
作者: 黑马朱超    时间: 2013-3-5 09:36
Just_Only 发表于 2013-3-5 08:32
看下你这两个类是不是都在这个javase包中。

仔细看了一下,都在一个包里啊。卸载一个java文件中的。
作者: 黑马朱超    时间: 2013-3-5 09:37
Eclipse 哪位用的懂一点,,,,,莫名错误搞不懂
作者: 文密    时间: 2013-3-5 20:55
黑马朱超 发表于 2013-3-5 09:37
Eclipse 哪位用的懂一点,,,,,莫名错误搞不懂

你把你的那个包名去掉就可以了。  我在Eclipse上运行是好的啊     
作者: 陈丽莉    时间: 2013-3-7 13:55
7楼的答案解决问题了吗,如果ok了,请将分类改成【已解决】。
作者: 黑马朱超    时间: 2013-3-7 15:11
陈丽莉 发表于 2013-3-7 13:55
7楼的答案解决问题了吗,如果ok了,请将分类改成【已解决】。

恩,谢谢提醒,忘改状态了




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