书上说:"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类的对象,这里应当输出:"你好";
}
}

解决方案 »

  1.   

    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,所以会直接调用父类方法
      

  2.   

    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()。
      

  3.   

    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模式(没有明显的区别的)
    不知道我说的你能不能明白呀!
    可以继续讨论
      

  4.   

    怎么楼上几位不能理解小弟的意思呢?
    你们上边实现的,我懂但是你们所做的并不是和我说的一样啊?
    我的意思是说有一个A类中有一个方法qq()这个方法无返回值,会输出"你好",而在另一个类B中有一个变量temp,temp的值为"中国",这样定义好之后,我想在B类中的main方法当中,构造一个B类的实例对象b,之后我想用:b.temp(此时输出"中国"),b.temp.qq()(会输出"你好")
    还请各位多多费心,特别是"miaoxikui() "希望你能解决我的这个问题.
      

  5.   

    b.temp是变量,b.temp.qq()是变量的方法
    能这么用么?
      

  6.   

    我认为可以,难道你没有用过:System.out.println("你好!")像这样的一句话吗?
    不是跟b.temp.qq()形式一样吗?
      

  7.   

    public class A {
    public void qq(){
    System.out.println("你好");
    }
    }
    class B{
    A temp=new A();
    public static void main(String[] args) {
    B b=new B();
    b.temp();
    b.temp.qq();
    }
    public void temp(){
    System.out.println("中国");
    }
    }
      

  8.   

    public static final PrintStream out
    查了下JDK
    out是PrintStream类的对象!
      

  9.   

    错了
    应该是OutputStream类的对象!