zoukankan      html  css  js  c++  java
  • 2020.10.26

    一、今日学习内容:

    上周的继承与多态的知识还有一部分需要了解学习的一些地方:

    1、抽象类和抽象方法

    有abstract修饰的类称为“抽象类”,它只定义了什么方法应该存在,不能创建对象,必须派生出一个子类,并在子类中实现其未实现的方法之后,才能使用new关键字创建对象。

    在方法前加上abstract就形成抽象方法,只有方法声明,没有实现代码

    abstract class Person
    {
        public abstract String getDescription();
    }

    一个抽象类中可以包含非抽象方法和成员变量。包含抽象方法的类一定是抽象类,但抽象类中的方法不一定是抽象方法

    2、抽象类的三种类型:

    (1)直接定义了一个抽象方法

    (2)继承了一个抽象父类,但没有完全实现父类包含的抽象方法

    (3)实现了一个接口,但没有完全实现此接口所包容的抽象方法。

    3、从抽象类继承:

    从抽象类继承的子类必须实现父类的所有抽象方法,否则,它仍然是抽象类

    class Employee extends Person {
    public  String getDescription() {
        //Do Something...
        return "";
    }
    }

    抽象类不能创建对象,一般用它来引用子类对象。

    实例: 

    Person p; 
    p=new Employee();

    以下模式总是成立的: 抽象类 抽象类变量 = new 派生自抽象类的具体子类();

    4、Java中接口的语法特性

    (1)定义一个接口,采用关键字interface,实现一个接口,采用关键字implements

    (2)接口的成员函数自动成为public的,数据成员自动成为 static和final的。

    (3)如果接口不声明为public的,则自动变为package。

    (4)一个类可以同时实现多个接口。

    5、接口的使用:

          IFood f = new Duck();

          接口类型 接口类型的变量=new 实现了接口的具体类型();

    6、接口:

    可以通过继承接口来扩充已有接口,并形成一个新的接口。

     interface OneInterface {
    void f1();
    }
    interface TwoInterface extends OneInterface {
    void f2();
    }

    实现子接口的类,必须实现“父”“子”接口所定义的所有方法,才能被实例化(即new出一个对象)。

    7、利用接口定义常量:

    public interface ArrayBound {
        public static final int LOWBOUND=1;
        public static final int UPBOUND=100;
    }

    只要一个类声明实现了这个接口,就可以直接使用这些常量名

    在实际开发中,这种编程方式非常常见。

    注意:定义在接口中的常量必须被初始化。

    8、接口与抽象类的区别

    (1)抽象类是一个不完全的类,而接口只是表明类应该具有哪些“外部”特征,不涉及任何实现细节。

    (2)接口基本上不具备继承的任何具体特点,它仅仅承诺了外界能够调用的方法。

    (3)一个类一次可以实现若干个接口,但一个类只能继承一个父类。

    二、遇到的问题:

    今天没有遇到什么问题;

    三、明日学习计划:

    明天学习异常处理的部分操作。

  • 相关阅读:
    ActiveSync合作关系对话框的配置
    WINCE对象存储区(object store)
    Wince 隐藏TASKBAR的方法
    Wince输入法换肤换语言机制
    poj 3080 Blue Jeans 解题报告
    codeforces A. Vasily the Bear and Triangle 解题报告
    hdu 1050 Moving Tables 解题报告
    hdu 1113 Word Amalgamation 解题报告
    codeforces A. IQ Test 解题报告
    poj 1007 DNA Sorting 解题报告
  • 原文地址:https://www.cnblogs.com/marr/p/14175181.html
Copyright © 2011-2022 走看看