【发布时间】:2013-04-28 14:32:34
【问题描述】:
假设我有三个类:
A类:
public class A {
private String s;
public A() {
s = "blah";
}
public void print() {
System.out.println(s);
}
}
B类:
public class B{
private A a[];
public B(){
a = new A[100];
for (int i=0; i<100;i++) {
a[i] = new A();
}
}
public void print() {
for (int i=0; i<100; i++) {
a.print(); //SHOULD BE a[i].print();
}
}
}
主类:
public class Main {
public static void main(String args[]) {
B b = new B();
b.print();
}
}
为什么我会得到像B@# 这样的输出模式,其中# 是一个数字。我认为这与间接寻址有关,但我不太确定。为什么不打印出 100 s?
【问题讨论】:
-
尝试显示你的输出
-
我程序中的输出是B@1172e08
标签: java string output memory-address