该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
class TestDiaoYongLingWaiLeiDuiXiang1
{TestDiaoYongLingWaiLeiDuiXiang2 x2 = new TestDiaoYongLingWaiLeiDuiXiang2("你好");
public void show()
{
System.out.println(x2.td1); //这里报错.如果我想调用td1对象的话应该怎么做呢?
System.out.println(TestDiaoYongLingWaiLeiDuiXiang2.td2);
System.out.println(x.td2);
}
}
class TestDiaoYongLingWaiLeiDuiXiang2
{private String name ;
public TestDiaoYongLingWaiLeiDuiXiang2(String name)
{
this.setName(name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString()
{
return "你好"+getName();
}
TestDiaoYongLingWaiLeiDuiXiang2 td1 = new
TestDiaoYongLingWaiLeiDuiXiang2("td1"); /*这里为什么不用静态的修饰会报错,即使在show方法中不调用td1,也会失败. 为什么呢*/
static TestDiaoYongLingWaiLeiDuiXiang2 td2 =
new TestDiaoYongLingWaiLeiDuiXiang2("td2");
}
public class TestDiaoYongLingWaiLeiDuiXiang {
public static void main(String[] args) {
TestDiaoYongLingWaiLeiDuiXiang1 x =new TestDiaoYongLingWaiLeiDuiXiang1();
x.show();
}
}
/*求大神解答,
(1) 我想在一个类中调用另外一个类中已经实例化的对象,只是对象本身并不是它的属性,应该怎么办呢?
(2) 为什么TestDiaoYongLingWaiLeiDuiXiang2 td1 = new
TestDiaoYongLingWaiLeiDuiXiang2("td1");
会报StackOverflowError错呢? 我只是创建一个对象而已,而且调用对象的方法show并不是static的.除了添加修饰符static TestDiaoYongLingWaiLeiDuiXiang2 td1 = new
TestDiaoYongLingWaiLeiDuiXiang2("td1") 应该如何修改呢?
(3)static TestDiaoYongLingWaiLeiDuiXiang2 td2 =
new TestDiaoYongLingWaiLeiDuiXiang2("td2");
中的 static 修饰这个实例化对象的过程有什么用呢? 如何调用这个td2呢? 类名.td2还是new 类名.td2 好像都可以,这是为什么呢?System.out.println(x2.td2==TestDiaoYongLingWaiLeiDuiXiang2.td2);结果是ture
*/