Topic: private 调用问题 |
Print this page |
1.private 调用问题 | Copy to clipboard |
Posted by: athen Posted on: 2005-02-04 12:01 class Soap { private String s; Soap() { System.out.println("Soap()"); s = new String("Constructed"); } public String toString() { return s; } } public class Bath { private String // Initializing at point of definition: s1 = new String("Happy"), s2 = "Happy", s3, s4; Soap castille; int i; float toy; Bath() { System.out.println("Inside Bath()"); s3 = new String("Joy"); i = 47; toy = 3.14f; castille = new Soap(); } void print() { // Delayed initialization: if(s4 == null) s4 = new String("Joy"); System.out.println("s1 = " + s1); System.out.println("s2 = " + s2); System.out.println("s3 = " + s3); System.out.println("s4 = " + s4); System.out.println("i = " + i); System.out.println("toy = " + toy); System.out.println("castille = " + castille); } public static void main(String[] args) { Bath b = new Bath(); b.print(); } } 运行结果 Inside Bath() Soap() s1 = Happy s2 = Happy s3 = Joy s4 = Joy i = 47 toy = 3.14 castille = Constructed 我是这样理解的castille = Constructed的结果是由调用class Soap中的String a,但这个变量为私有的 为什么public class Bath 还能调用它呢 |
2.Re:private 调用问题 [Re: athen] | Copy to clipboard |
Posted by: simbas Posted on: 2005-02-04 22:23 castille = Constructed的结果是由调用class Soap中的构造来的吧~ 楼主的疑问从何而来? |
3.Re:private 调用问题 [Re: athen] | Copy to clipboard |
Posted by: miaomiao9527 Posted on: 2005-02-06 09:11 那是你在 Soap 类中有一个方法调用了那个便量,在下面的类中调用那个方法,你要知道在同一个类中方法可以訪问丝有变量的,他的作用是不让不和法的用戸改动該值达到封装的目的。 我建一你类和类之间不要有过多這样的关系。 |
4.Re:private 调用问题 [Re: athen] | Copy to clipboard |
Posted by: 孤独王子 Posted on: 2005-02-06 09:19 我是这样理解的castille = Constructed的结果是由调用class Soap中的String a,但这个变量为私有的 为什么public class Bath 还能调用它呢 美什么问题,一个class里面的method 完全可以访问任意属性的,跨class不行 String a ??? a 在哪? |
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 |