当前位置:编程学习 > JAVA >>

菜鸟求解面向对象中封装为什么会运行出这个结果。

--------------------编程问答-------------------- PersonDemo vs. personDemo --------------------编程问答-------------------- setAge()方法中年龄为-40的时候没有给age赋值,然后speak中打印age的值出错了吧 --------------------编程问答-------------------- 二楼似乎是正解,运行的类是personDemo,但是你编译的类是PersonDemo,首字母大小写啊,有木有。 --------------------编程问答-------------------- class PersonDemo --------------------编程问答-------------------- 好像每天都会有大小写错误的提问  二楼正解啊   JAVA第一节课就讲注意大小写 使用方法到API中复制  O(∩_∩)O哈哈~   --------------------编程问答-------------------- 这是定义类名的问题,你定义的是class personDemo而命令窗口运行的是java PersonDemo

--------------------编程问答-------------------- 感觉封装有点奇怪:




public class TestTop {

private int age ;

public void setAge(int age){
this.age=age;
}

public int getAge(){
return age;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
ATSSD a = new ATSSD();
int [] num = a.name();
for (int sk : num){
System.out.println(sk);
}
}
}

class ATSSD {
public int[] name() {
TestTop test=new TestTop();
test.setAge(20);//设置值
int [] t = new int[2];
t[0]=test.getAge();//获取值:test.getAge();
t[1]=test.getAge();
return t;
}
}








--------------------编程问答-------------------- public class Person{
        private int age;
        public void setAge(int a){
  if(a>0 && a<130)
           {
   age=a;
  }else{
    System.out.println("ErrorAge");
  }
}
        public int getAge(){
   return age;
}
public void speak(){
   System.out.println("age="+age);
}
public static void main(String[] args){
   Person p=new Person();
   p.setAge(-40);
   p.speak();
}
}
//在doc 环境下 输入:javac Person.java     java  Person
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,