黑马程序员技术交流社区

标题: 求大神帮我看一下 面向对象封装 怎么编译会失败呢? [打印本页]

作者: 13922919272    时间: 2015-1-14 20:32
标题: 求大神帮我看一下 面向对象封装 怎么编译会失败呢?
class Person
{
        private int age;

        public void setAge(int a)
                {
                if (a>0&&a<10)
                {
                        age=a;
                        speak();
                }
                else
                        System.out.println("NONO");
        }
        public int getSge()
                {
                return age;
        }
        void speak()
                {
                System.out.println("age="+age);
        }
       
}
class PersonDemo
{
        public static void main(String[] args)
                {
        Person b=new Person();
        b.setAge=5;
        }
}
找不到符号B


作者: 汤汤微微    时间: 2015-1-14 20:34
b.setAge(5)是传参数不是=
作者: AnElse    时间: 2015-1-14 20:51
b.setAge=5;调用函数,参数没有
作者: 13922919272    时间: 2015-1-14 22:23
汤汤微微 发表于 2015-1-14 20:34
b.setAge(5)是传参数不是=

打印不出值是怎么回事?

作者: d7142947    时间: 2015-1-14 23:17
  1. class Person {
  2.         private int age;
  3.         public void setAge(int a) {
  4.                 if (a > 0 && a < 10) {
  5.                         age = a;
  6.                         speak();
  7.                 } else
  8.                         System.out.println("NONO");
  9.         }

  10. //        public int getSge() {
  11. //                return age;
  12. //        }
  13.        

  14.         public int getAge() {
  15.                 return age;
  16.         }
  17.         void speak() {
  18.                 System.out.println("age=" + age);
  19.         }

  20. }

  21. class PersonDemo {
  22.         public static void main(String[] args) {
  23.                 Person b = new Person();
  24. //                b.setAge = 5;
  25.                 b.setAge(5);
  26.         }
  27. }
复制代码

作者: d7142947    时间: 2015-1-14 23:19
d7142947 发表于 2015-1-14 23:17

看我注释掉的部分、   第一块你把方法名写错了        第二个   方法调用传参数 是b.setAge(5);这样的
作者: 探寻者    时间: 2015-1-14 23:54
b.setAge(5),5应该是当做参数传入setAge()方法中的。还有就是 public int getSge(),这应该是getAge()。




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