Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 为什么类中定义的属性直接赋值与在方法中赋值会有不同
jimmyofth





发贴: 18
积分: 0
于 2008-09-23 10:11 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
定义一个父类

public class ParentClass {
public int i=1;
public String s=new String("string---parent");
public char[] ca={'j','a','r'};
void get(){
  System.out.println("i="+i);
  for(int i=0;i<3;i++){
    System.out.print(ca[i]);
  }
  System.out.println("(par-get)/n");
  System.out.println("this is parent class");
}
}

定义一个子类

public class SubClass extends ParentClass {
  int i=2;
  String s=new String("string---sub");
  public char[] ca={'s','u','b'};
  float f=10.0f;
  void get(){
    System.out.println("this is subclass");
    System.out.println("i="+i);
    for(int i=0;i<3;i++){
      System.out.print(ca[i]);
    }
    System.out.print("(sub-get)\n");
  }
  void getF(){
    System.out.printlnRose;
  }

}

main方法

    ParentClass p=new SubClass();
    SubClass s=new SubClass();
    System.out.println("---Parent---");
    System.out.println(p.i);
    System.out.println(p.s);
    p.get();
    for(int i=0;i<3;i++){
      System.out.print(p.ca[i]);
    }
    System.out.print("\n");

    System.out.println("---Sub---");
    System.out.println(s.i);
    System.out.println(s.s);
    s.get();

结果

---Parent---
1
string---parent
this is subclass
i=2
sub(sub-get)
jar
---Sub---
2
string---sub
this is subclass
i=2
sub(sub-get)

为什么直接在main方法里取i,s的值,与在get方法里取值是不同的?
一个取自父类,一个取自子类

类的属性是存储在栈里还是堆里?




初学者与<书>

话题树型展开
人气 标题 作者 字数 发贴时间
8559 为什么类中定义的属性直接赋值与在方法中赋值会有不同 jimmyofth 1367 2008-09-23 10:11
6828 Re:为什么类中定义的属性直接赋值与在方法中赋值会有不同 JiafanZhou 1027 2008-09-25 16:37

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923