• 《Java大学教程》—第14章 抽象、继承和接口


    自测题:
    1.    解释抽象和抽象数据类型的概念。P333
    抽象的概念是仅仅关注对象可以完成什么工作,而不必担心如何完成工作的细节。
    类模板通常被称为抽象数据类型。因为这类数据暴露给用户的所有信息仅仅是方法的描述(输入、输出和行为)和数据的相关信息(属性)。

    2.    动态(运行时)绑定和静态(编译时)绑定的区别。P335
    编译时绑定(compile-time binding)或静态绑定(static binding)技术:
    当一个类的代码被编译后,该类的每个方法的代码都会随之编译;编译器将确保该类的对象接收一个调用其方法的消息时,
    程序都会跳转到该方法的代码的存储位置--该方法的指令将会被执行,之后程序将返回最初的位置。

    运行时绑定(run-time binding)或动态绑定(dynamic binding)技术:
    每次创建一个新的对象时,必须记录其方法存储位置的信息;这样对于调用哪个方法的决定可以推迟到运行时决定。

    3.
    a)    解释Java中接口和适配器的区别。
    接口:(P336)是一个类的所有方法都声明为抽象方法。因此实现接口时必须为该接口的所有方法编码。
    适配器:(adapter,P348)是一个特殊的类,实现了接口的所有方法,扮演类与接口之间的中介角色,继承适配器类就不必为所有的方法编码。

    b)

    public interface SomeInterface{
        public void method1();
        public int method2();
    }

    public SomeAdapter extends SomeInterface{
        public void method1(){    }
        pupblic int method2(){    }
    }

    4.    解释内部类的作用,描述内部类的使用方法。P349
    在Java中一个类只允许继承一个超类,不能继承多个超类(多继承,multiple inheritance)。为了继承业务类,又能够使用适配器类,可以借助内部类来实现。
    即在其他类的内部创建一个类,这个内部类继承适配器类。这个内部类不能为程序中其他类服务,从而实现更好地封装。

    5.    第7章的Oblong类的toString方法。

    public String toString(){
        return "Length:"+length+",	"+"Height:"+height;
    }

    编程练习:代码附件
    1.    RedCircle.java

    2.
    a)    Checkable.java
    b)    BankAccount.java   
    c)    RunAccount.java       
    d)    Oblong.java        OblongTester.java
    注:length和heigth属性本身就定义为double,为何还要整数呢?所以我只考虑了非负的问题。

    3.    DrawRectangle.java            DrawRectangleWithAdapter.java
        RunDrawRectangle.java        RanDrawRectangleWithAdapter.java

    4.    SomeGraphicsClass.java    // 这个类为了给第5题服务,部分代码修改了,有些专属部分放在子类中定义。
        Question4.java
       
    5.    Question5.java

  • 相关阅读:
    redis API使用说明
    javascript (js)判断手机号码中国移动、中国联通、中国电信
    Spring MVC 框架搭建及详解
    Oracle 树操作(select…start with…connect by…prior)
    工作流开发总结
    jQuery 关于ScrollableGridPlugin.js(固定表头)插件的逐步解析
    关于@RequestBody关键字
    linux中的目录的作用
    接口和抽象类的区别
    jdbc操作和开启事务
  • 原文地址:https://www.cnblogs.com/zhuyx/p/10401918.html
Copyright © 2020-2023  润新知