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 extends 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:成员方法
            有抽象,有非抽象
    (5)抽象类的几个小问题
        A:抽象类有构造方法,不能实例化,那么构造方法有什么用?
            用于子类访问父类数据的初始化
        B:一个类如果没有抽象方法,却定义为了抽象类,有什么用?
            为了不让创建对象
        C:abstract不能和哪些关键字共存
            a:final    冲突
            b:private 冲突
            c:static 无意义

4:接口(掌握)
    (1)回顾猫狗案例,它们仅仅提供一些基本功能。
       比如:猫钻火圈,狗跳高等功能,不是动物本身就具备的,
       是在后面的培养中训练出来的,这种额外的功能,java提供了接口表示。
    (2)接口的特点:
        A:接口用关键字interface修饰
            interface 接口名 {}
        B:类实现接口用implements修饰
            class 类名 implements 接口名 {}
        C:接口不能实例化
        D:接口的实现类
            a:是一个抽象类。
            b:是一个具体类,这个类必须重写接口中的所有抽象方法。
    (3)接口的成员特点:
        A:成员变量
            只能是常量
            默认修饰符:public static final
        B:构造方法
            没有构造方法
        C:成员方法
            只能是抽象的
            默认修饰符:public abstract
    (4)类与类,类与接口,接口与接口
        A:类与类
            继承关系,只能单继承,可以多层继承
        B:类与接口
            实现关系,可以单实现,也可以多实现。
            还可以在继承一个类的同时,实现多个接口
        C:接口与接口
            继承关系,可以单继承,也可以多继承

final修饰符,多态,抽象类,接口的更多相关文章

  1. java中接口的概念及使用(补充final修饰符的使用)

    接口 初期理解,可以是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示 class 用于定义类 interface 用于定义接口 接口定义时,格式特点: 1.接口中常见的 ...

  2. 抽象类和final修饰符

    抽象类和抽象方法的特点: 1.都通过abstract关键字来修饰. 2.抽象类不能实例化. 3.抽象类中可以有 0~多个抽象方法.(可以没有抽象方法) 4.抽象方法只有方法声明,没有方法实现.(没有方 ...

  3. JAVA基础-栈与堆,static、final修饰符、内部类和Java内存分配

    Java栈与堆 堆:顺序随意 栈:后进先出(Last-in/First-Out). Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new.newarray.anewarray和mu ...

  4. private static final 修饰符

    java修饰符分类修饰符字段修饰符方法修饰符根据功能同主要分下几种 1.权限访问修饰符 public,protected,default,private,四种级别修饰符都用来修饰类.方法和字段 包外 ...

  5. 类成员(static)和final修饰符

    在Java类里只能包含成员变量.方法.构造器.初始化块.内部类(包括接口.枚举)5种成员,类成员是用static来修饰的,其属于整个类. 当使用实例来访问类成员时,实际上依然是委托给该类来访问类成员, ...

  6. Java中的(构造方法、方法重载、final修饰符使用及继承和抽象)

    构造方法: 构造方法的名称和类名相同,没有返回类型,参数列表(类型.个数)不同 方法重载:成员方法和构造方法都可以进行重载 方法名相同但是参数列表(类型,个数)不同,成为方法的重载. 继承:直支持单继 ...

  7. Java final 修饰符知识点总结

    final从字面上理解含义为“最后的,最终的”.在Java中也同样表示出此种含义. final可以用来修饰变量(包括类属性.对象属性.局部变量和形参).方法(包括类方法和对象方法)和类. 1. fin ...

  8. Java中的final修饰符

    1.什么时候可以选择final修饰符 如果想让一个类不被其他类继承,不允许在有子类,这时候就要考虑用到final来修饰. 2.用final修饰的类 首先大家要明白,用final修饰的类是不能被继承的, ...

  9. 对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误

    在Java中修饰符总共有一下几种: 1.访问控制修饰符    分别有:public private protected,缺省 2.其它修饰符      分别有:abstract,final,stati ...

  10. as3 中 final 修饰符

    现在,在ActionScript 3.0的修饰符中,只有final修饰符没有介绍.之所有放在这里介绍,是因为final修饰符只与继承有关,指定一个方法不能被重写或一个类不能被继承. 一般来说,当用fi ...

随机推荐

  1. AVFoundation 框架初探究(三)

    这篇总结什么? 在该系列的上一篇的文章中,我们总结的大致内容如下: 1.视频录制  AVCaptureSession + AVCaptureMovieFileOutput 2.视频录制 AVCaptu ...

  2. 《SpringMVC从入门到放肆》一、概述

    一.SpringMVC概述 View Service Dao DB Spring MVC interface interface Mysql impls impls SpringMVC也叫Spring ...

  3. d3 画地图终极自适应大小方案

    d3,v4以前用d3画地图的时候,为了让地图差不多正好画在容器的上下左右正中间,不得不慢慢的这样调: const projection = d3.geoMercator() .center([108. ...

  4. HttpWebRequest中GetResponse或者说GetRequestStream偶尔超时,或者是各种操作超时造成的假死的一些解决方案

    今天用了将近一天的时间来查找这个问题的存在,不停的百度查找原因测试原因,发现解决方案很是简单,不过最好还好哦啊都解决了,在这里纪录一下,希望可以帮到你们 payload = System.Text.E ...

  5. Django之cookie验证

    先不用太多的蚊子描述什么是cookie,先做一个小实验: 此时我们在谷歌浏览器(一个客户端)和IE浏览器(另一个用户)测试: 刺客我们发现在两台浏览器都可以访问,而且不用进入login验证就可以登录, ...

  6. 【机器学习学习】SKlearn + XGBoost 预测 Titanic 乘客幸存

    Titanic 数据集是从 kaggle下载的,下载地址:https://www.kaggle.com/c/titanic/data 数据一共又3个文件,分别是:train.csv,test.csv, ...

  7. 2017广东工业大学程序设计竞赛决赛 题解&源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)

    心得: 这比赛真的是不要不要的,pending了一下午,也不知道对错,直接做过去就是了,也没有管太多! Problem A: 两只老虎 Description 来,我们先来放松下,听听儿歌,一起“唱” ...

  8. bzoj:3400 [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队

    Description     农夫顿因开始玩飞盘之后,约翰也打算让奶牛们享受飞盘的乐趣.他要组建一只奶牛飞盘 队.他的N(1≤N≤2000)只奶牛,每只部有一个飞盘水准指数Ri(1≤Ri≤10000 ...

  9. 2017ecjtu-summer training #2 CodeForces 608B

    B. Hamming Distance Sum time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  10. Eclipse集成Tomcat的步骤,我已测试N次都是成功的

    本文转自:https://www.cnblogs.com/weixing/p/3229983.html#undefined 使用Eclipse开发B/S结构Web应用时,必须使用Web应用服务器,常见 ...