日期:2014-05-20  浏览次数:20752 次

java新手请教一下问题,不知道我的理解是否正确!
书上说: "out是System类的一个成员变量,而out又是一个类的对象,它有一个方法println() "
请问System类中的out变量是哪一个类的对象,(还有我很想知道在一个类中如何让一个成员变量即做为成员变量,
又作为另一个类的对象),下面是我写的一段代码,想完成这个功能,但是不正确,请老师改正:
class   Aa
{
void   qq()
{
System.out.println( "你好! ");
}
}
class   Bb   extends   Aa
{
(变量类型)temp //请问此时的temp变量应当用什么类型,又当如何成为Aa类的对象.
public   static   void   main(String   args[])
{
Bb   b=new   Bb();
b.temp.qq(); //如果上面已经设置了temp变量为Aa类的对象,这里应当输出: "你好 ";
}
}

------解决方案--------------------
class Aa
{
void qq()
{
System.out.println( "你好! ");
}
}
class Bb extends Aa
{
public static void main(String args[])
{
Bb b=new Bb();
b.qq();
}
}


这样就可以了, 因为Bb继承了Aa,所以会直接调用父类方法
------解决方案--------------------
class Aa
{
void qq()
{
System.out.println( "你好! ");
}
}
class Bb extends Aa
{
(public static void main(String args[])
{
Bb b=new Bb();
b.qq();
}
}
Bb继承了Aa,既拥有Aa的所有方法和属性。Bb中实例化了Bb的对象b,b可以调用父类的方法和属性。通过b.qq()得到了父类中Bb 的方法 void qq()。

------解决方案--------------------
System类中的out变量是PrintStream 的对象
但是实例化的时候是这样的public final static PrintStream out = nullPrintStream();
在一个类中让一个成员变量既做为成员变量,
又作为另一个类的对象,很简单,可能你想的太多了
只要让一个类持有另外一个类的引用就可以了,也就是在一个类中定义一个引用类型的成员变量旧可以了.

public class A
{
A()
{}
void qq()
{
System.out.println( "你好! ");
}

}
public class B
{
B(){}
public A a = new A();
void qq()
{
a.qq();
}

public static void main(String args[])
{
B b=new B();
b.qq();
}


}
这在 JAVA中也是一种很重要的设计模式呀!叫他decorate模式或者叫facade模式(没有明显的区别的)
不知道我说的你能不能明白呀!
可以继续讨论

------解决方案--------------------
b.temp是变量,b.temp.qq()是变量的方法
能这么用么?
------解决方案--------------------
学习
------解决方案--------------------
public static final PrintStream out
查了下JDK
out是PrintStream类的对象!
------解决方案--------------------
up
------解决方案--------------------
帮顶