老师布置的作业如下,读了不下5便,还是没有头绪,请求高手指点迷津,3q:
实验目的
(1) 理解继承的概念,掌握继承的语法。
(2) 学习定义和使用子类。
(3) 掌握继承过程中的方法覆盖,区分它与方法重载的不同。
(4) 掌握对象类型之间的转换规则。
(5) 掌握多态与动态绑定。
实验步骤
(1) 定义父类Computer,其中包括方法f1和f2;
(2) 定义子类Desktop继承于父类Computer,在其中覆盖方法f1和f2;
(3) 定义子类Notebook继承于父类Computer,在其中覆盖方法f1和f2;
(4) 定义一个包含main方法的类;
(5) 在main方法中创建一个Desktop对象,将它赋值给Computer类的对象c1,并通过对象c1调用方法f1和f2;
(6) 在main方法中创建一个Notebook类的对象,将它赋值给Computer类的对象c2,并通过对象c2调用方法f1和f2。

解决方案 »

  1.   

    去我的blog看,有篇文章专门讲这个的
      

  2.   


    class Computer{
    public void f1(){
    System.out.println("computer f1");
    }
    public void f2(){
    System.out.println("computer f2");
    }
    }class Desktop extends Computer{
    public void f1(){
    System.out.println("Desktopf1");
    }
    public void f2(){
    System.out.println("Desktop f2");
    }
    }class Notebook extends Desktop{
    public void f1(){
    System.out.println("Notebook  f1");
    }
    public void f2(){
    System.out.println("Notebook f2");
    }
    }public class test2{
    public static void main(String args[]){
    /*在main方法中创建一个Desktop对象,将它赋值给Computer类的对象c1,并通过对象c1调用方法f1和f2;*/
    Desktop dt=new  Desktop();
    Computer c1=dt;
    c1.f1();
    c1.f2(); /*在main方法中创建一个Notebook类的对象,将它赋值给Computer类的对象c2,并通过对象c2调用方法f1和f2*/
    Notebook nb=new Notebook();
    Computer c2=nb;
    c2.f1();
    c2.f2();
    }

    我也是初学者  不过我知道这个题目你们老师想让你们练习什么
    子类向上转型之后会给了父类的对象   这两个对象所指向的地址是一样的但是他们还是依然保留自己的方法和变量
      

  3.   

    一开始学java都是这样,不要急,慢慢来,楼上是正解