zoukankan      html  css  js  c++  java
  • 一、javaSE (九)final、多态、抽象类、接口

    1:final关键字(掌握)

             (1)是最终的意思,可以修饰类,方法,变量。

             (2)特点:

                       A:它修饰的类,不能被继承

                       B:它修饰的方法,不能被重写

                       C:它修饰的变量,是一个常量

             (3)面试相关:

                       A:局部变量:

                                a:基本类型 值不发生改变

                                b:引用类型 地址值不能发生改变,但是对象的内容是可以改变的

                       B:初始化时机

                                a:只能初始化一次

                                b:常见的给值

                                         定义的时候

                                         构造方法中

    2:多态(掌握)

             (1)同一个对象在不同时刻体现出来的不同状态

             (2)多态的前提:

                       A:有继承或者实现关系

                       B:有方法重写

                       C:有父类或者父接口引用指向子类对象

                       多态的分类:

                                a:具体多态

                                         class Fu{}

                                         class Zi ectends Fu{}

                                         Fu f = new Zi();

                                b:抽象类多态

                                         abstract class Fu{}

                                         class Zi extends Fu{}

                                         Fu f = new Zi();

                                c:接口多态

                                         interface Fu{}

                                         class Zi implements Fu{}

                                         Fu f = new Zi();

             (3)多态中的成员访问特点

                       A:成员变量

                                编译看左边,运行看右边

                       B:构造方法

                                子类的构造都会默认访问父类的构造

                       C:成员方法

                                编译看左边,运行看右边

                       D:静态方法

                                编译看左边,运行看右边

             (4)多态的好处

                       A:提高代码的维护性(继承体现)

                       B:提高代码的扩展性(多态体现)

             (5)多态的弊端

                       父不能使用子的特有功能

                       现象:

                                子可以当做父使用,父不能当做子使用

             (6)多态中的转型

                       A:向上转型

                                从子到父

                       B:向下转型

                                从父到子

    3:抽象类(掌握)

             (1)把多个共性的东西提取到一个类中,这是继承的做法

                       但是呢,这多个共性的东西,在有些时候,方法声明一样,但是方法体

                       也就是说,方法声明一样,但是每个具体的对象在具体实现的时候内容不一样

                       所以,我们在定义这些共性的方法的时候,就不能给出具体的方法体

                       而一个没有具体的方法体的方法是抽象的方法

                       在一个类中如果有抽象方法,该类必须定义为抽象类

             (2)抽象类的特点

                       A:抽象类和抽象方法必须用关键亲 abstract絛饰

                       B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类

                       C:抽象类不能实例化

                       D:抽象类的子类

                                a:是一个抽象类

                                b:是一个具体类。这个类必须重写抽象类中的所有抽象方法

             (3)抽象类的成员特点:

                       A:成员变量

                                有变量,有常量

                       B:构造方法

                                有构造方法

                       C:成员方法

                                有抽象,有非抽象

    4:接口(掌握)

             (1)接口的特点

                       A:接口用关键字 interface修饰

                       B:类实现接口用imp1ements修饰

                                c1ass类名 implements接口名{}

                       C:接口不能实例化

                       D:接口的实现类

                                a:是一个抽象类

                                b:是一个具体类,这个类必须重写接旦中的所有抽象方法

             (2)接口的成员特点

                       A:成员变量

                                只能是常量

                                默认修饰符: publis static fina1

                       B:构造方法

                                没有构造方法

                       C:成员方法

                                只能是抽象的

                                默认修饰符: public abstract

             (3)类与类,类与接口,接口与接口

                       A:类与类

                                继承关系,只能单继承,可以多层继承

                       B:类与接口

                                实现关系,可以单实现,也可以多实现

                                还可以在继承一个类的同时,实现多个接旦

                       C:接口与接口

                                继承关系,可以单继承,也可以多继承

             (4)抽象类和接口的区别(自己补齐)

                       A:成员区别

                                抽象类

                                接口

                       B:关系区别

                                类与类

                                类与接口:

                                接口与接口:

                       C:设计理念不同

                                抽象类:is a,抽象类中定义的是共性功能

                                接口:1ike a,接口中定义的是扩展功能

  • 相关阅读:
    bzoj 4012: [HNOI2015]开店
    POJ 1054 The Troublesome Frog
    POJ 3171 Cleaning Shifts
    POJ 3411 Paid Roads
    POJ 3045 Cow Acrobats
    POJ 1742 Coins
    POJ 3181 Dollar Dayz
    POJ 3040 Allowance
    POJ 3666 Making the Grade
    洛谷 P3657 [USACO17FEB]Why Did the Cow Cross the Road II P
  • 原文地址:https://www.cnblogs.com/zhangchengbing/p/8276210.html
Copyright © 2011-2022 走看看