黑马程序员技术交流社区

标题: java基础-继承相关概念习题 [打印本页]

作者: qinjingbo    时间: 2014-10-27 22:14
标题: java基础-继承相关概念习题
第一题 调用超类的成员变量。
class A
{
  int i;
  void showi()
  {
    System.out.println("A.i="+i);
  }
class B extends A
{
  int i;
  B(int a,int b)
  {
    super.i=a;
    //使用super访问超类A的成员变量i
    i=b;
  }
  void showi()
  {
    super.showi();       
    //使用super访问超类A的成员方法showi()
    System.out.println("B.i="+i);
  }
}
public class Ex
{
        public static void main(String args[])
        {
                B b=new B(5,10);
                b.showi();
        }
}
本程序的运行结果是:
A.i=5
B.i=10
第二题  继承中的方法重载

class A
{
  int i=5;
  void show()
  {
    System.out.println("i="+i);
  }
}
class B extends A
{
  int j=10;
  void show(int a)
  {
  System.out.println("j="+j+" "+a);
  }
}
public class Ex
{
  public static void main(String args[])
  {
     B b=new B();
     b.show();
     b.show(5);
  }
}
本程序的运行结果是:
i=5
j=10 5

第三题 动态方法调度。
class A
{
   int i;
   A(int a)
   {
     i=a;
   }
   void show()
   {
      System.out.println("i="+i);
   }
}
class B extends A
{
   int j;
   B(int a,int b)
   {
      super(a);
      j=b;
   }
   void show()
   {
     System.out.println("i="+i+" j="+j);
   }
}
public class Ex
{
        public static void main(String args[])
        {
                A a;
                B b=new B(5,6);
                a=b; //在运行的时候为对象a赋值
                a.show(); //调用的是类B的show()方法
        }
}
本程序的运行结果是:
i=5 j=6




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2