1. 1:final关键字(掌握)
  2. (1)是最终的意思,可以修饰类,方法,变量。
  3. (2)特点:
  4. A:它修饰的类,不能被继承。
  5. B:它修饰的方法,不能被重写。
  6. C:它修饰的变量,是一个常量。
  7. (3)面试相关:
  8. A:局部变量
  9. a:基本类型 值不能发生改变
  10. b:引用类型 地址值不能发生改变,但是对象的内容是可以改变的
  11. B:初始化时机
  12. a:只能初始化一次。
  13. b:常见的给值
  14. 定义的时候。(推荐)
  15. 构造方法中。
  16.  
  17. 2:多态(掌握)
  18. (1)同一个对象在不同时刻体现出来的不同状态。
  19. (2)多态的前提:
  20. A:有继承或者实现关系。
  21. B:有方法重写。
  22. C:有父类或者父接口引用指向子类对象。
  23.  
  24. 多态的分类:
  25. a:具体类多态
  26. class Fu {}
  27. class Zi extends Fu {}
  28.  
  29. Fu f = new Zi();
  30. b:抽象类多态
  31. abstract class Fu {}
  32. class Zi extends Fu {}
  33.  
  34. Fu f = new Zi();
  35. c:接口多态
  36. interface Fu {}
  37. class Zi implements Fu {}
  38.  
  39. Fu f = new Zi();
  40. (3)多态中的成员访问特点
  41. A:成员变量
  42. 编译看左边,运行看左边
  43. B:构造方法
  44. 子类的构造都会默认访问父类构造
  45. C:成员方法
  46. 编译看左边,运行看右边
  47. D:静态方法
  48. 编译看左边,运行看左边
  49.  
  50. 为什么?
  51. 因为成员方法有重写。
  52. (4)多态的好处:
  53. A:提高代码的维护性(继承体现)
  54. B:提高代码的扩展性(多态体现)
  55. (5)多态的弊端:
  56. 父不能使用子的特有功能。
  57.  
  58. 现象:
  59. 子可以当作父使用,父不能当作子使用。
  60. (6)多态中的转型
  61. A:向上转型
  62. 从子到父
  63. B:向下转型
  64. 从父到子
  65. (7)孔子装爹的案例帮助大家理解多态
  66. (8)多态的练习
  67. A:猫狗案例
  68. B:老师和学生案例
  69.  
  70. 3:抽象类(掌握)
  71. (1)把多个共性的东西提取到一个类中,这是继承的做法。
  72. 但是呢,这多个共性的东西,在有些时候,方法声明一样,但是方法体。
  73. 也就是说,方法声明一样,但是每个具体的对象在具体实现的时候内容不一样。
  74. 所以,我们在定义这些共性的方法的时候,就不能给出具体的方法体。
  75. 而一个没有具体的方法体的方法是抽象的方法。
  76. 在一个类中如果有抽象方法,该类必须定义为抽象类。
  77. (2)抽象类的特点
  78. A:抽象类和抽象方法必须用关键字abstract修饰
  79. B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类
  80. C:抽象类不能实例化
  81. D:抽象类的子类
  82. a:是一个抽象类。
  83. b:是一个具体类。这个类必须重写抽象类中的所有抽象方法。
  84. (3)抽象类的成员特点:
  85. A:成员变量
  86. 有变量,有常量
  87. B:构造方法
  88. 有构造方法
  89. C:成员方法
  90. 有抽象,有非抽象
  91. (4)抽象类的练习
  92. A:猫狗案例练习
  93. B:老师案例练习
  94. C:学生案例练习
  95. D:员工案例练习
  96. (5)抽象类的几个小问题
  97. A:抽象类有构造方法,不能实例化,那么构造方法有什么用?
  98. 用于子类访问父类数据的初始化
  99. B:一个类如果没有抽象方法,却定义为了抽象类,有什么用?
  100. 为了不让创建对象
  101. C:abstract不能和哪些关键字共存
  102. a:final 冲突
  103. b:private 冲突
  104. c:static 无意义
  105.  
  106. 4:接口(掌握)
  107. (1)回顾猫狗案例,它们仅仅提供一些基本功能。
  108. 比如:猫钻火圈,狗跳高等功能,不是动物本身就具备的,
  109. 是在后面的培养中训练出来的,这种额外的功能,java提供了接口表示。
  110. (2)接口的特点:
  111. A:接口用关键字interface修饰
  112. interface 接口名 {}
  113. B:类实现接口用implements修饰
  114. class 类名 implements 接口名 {}
  115. C:接口不能实例化
  116. D:接口的实现类
  117. a:是一个抽象类。
  118. b:是一个具体类,这个类必须重写接口中的所有抽象方法。
  119. (3)接口的成员特点:
  120. A:成员变量
  121. 只能是常量
  122. 默认修饰符:public static final
  123. B:构造方法
  124. 没有构造方法
  125. C:成员方法
  126. 只能是抽象的
  127. 默认修饰符:public abstract
  128. (4)类与类,类与接口,接口与接口
  129. A:类与类
  130. 继承关系,只能单继承,可以多层继承
  131. B:类与接口
  132. 实现关系,可以单实现,也可以多实现。
  133. 还可以在继承一个类的同时,实现多个接口
  134. C:接口与接口
  135. 继承关系,可以单继承,也可以多继承
  136. (5)抽象类和接口的区别(自己补齐)?
  137. A:成员区别
  138. 抽象类:
  139. 接口:
  140. B:关系区别:
  141. 类与类:
  142. 类与接口:
  143. 接口与接口:
  144. C:设计理念不同
  145. 抽象类:is a,抽象类中定义的是共性功能。
  146. 接口:like a,接口中定义的是扩展功能。
  147. (6)练习:
  148. A:猫狗案例,加入跳高功能
  149. B:老师和学生案例,加入抽烟功能0

java5的更多相关文章

  1. Java多线程与并发库高级应用-java5线程并发库

    java5 中的线程并发库 主要在java.util.concurrent包中 还有 java.util.concurrent.atomic子包和java.util.concurrent.lock子包 ...

  2. Java5、Java6、Java7的新特性

    Java5 Java 5添加了8个语言特性:泛型,类型安全枚举,注解,自动装箱和拆箱,增强的循环,静态导入,可变参数,协变返回类型. 1.泛型 Generics: 引用泛型之后,允许指定集合里元素的类 ...

  3. java5、java6、java7、java8的新特性

    Java5: 1.泛型 Generics:        引用泛型之后,允许指定集合里元素的类型,免去了强制类型转换,并且能在编译时刻进行类型检查的好处. Parameterized Type作为参数 ...

  4. Java5 并发学习

    在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动.调度.管理线程的一大堆API了.在Java5以后,通过 Executor来启动线程比用Thread的start()更好.在新特征 ...

  5. Java5中的线程池实例讲解

    Java5增加了新的类库并发集java.util.concurrent,该类库为并发程序提供了丰富的API多线程编程在Java 5中更加容易,灵活.本文通过一个网络服务器模型,来实践Java5的多线程 ...

  6. java5后的并发池

    本文可作为传智播客<张孝祥-Java多线程与并发库高级应用>视频的学习记录. 为什么需要并发池 之前写并发的时候 new Thread(new Runnable(){ public voi ...

  7. java--加强之 Java5的线程并发库

    转载请申明出处:http://blog.csdn.net/xmxkf/article/details/9945499 01. 传统线程技术回顾 创建线程的两种传统方式: 1.在Thread子类覆盖的r ...

  8. 使用java5的注解和Sping/AspectJ的AOP 来实现Memcached的缓存

    使用java5的注解和Sping/AspectJ的AOP 来实现Memcached的缓存 今天要介绍的是Simple-Spring-Memcached,它封装了对MemCached的调用,使MemCa ...

  9. <数据结构与算法分析>读书笔记--利用Java5泛型实现泛型构件

    一.简单的泛型类和接口 当指定一个泛型类时,类的声明则包括一个或多个类型参数,这些参数被放入在类名后面的一对尖括号内. 示例一: package cn.generic.example; public ...

  10. Java5,Java 6,Java 7,Java 8新特性

    Java5: 1.泛型 Generics:        引用泛型之后,允许指定集合里元素的类型,免去了强制类型转换,并且能在编译时刻进行类型检查的好处. Parameterized Type作为参数 ...

随机推荐

  1. 【转载】WEB前端开发规范文档

    本文转载自谈笑涧<WEB前端开发规范文档> 为 新项目写的一份规范文档, 分享给大家. 我想前端开发过程中, 无论是团队开发, 还是单兵做站, 有一份开发文档做规范, 对开发工作都是很有益 ...

  2. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  3. 20145215&20145307信息安全系统设计基础实验报告

    20145215&20145307信息安全系统设计基础实验报告 PART1 一.实验原理 交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码.同一个体系结构可以运行不同的操作系统 ...

  4. Lua和C++交互详细总结

    转自:http://cn.cocos2d-x.org/tutorial/show?id=1474 一.Lua堆栈 要理解Lua和C++交互,首先要理解Lua堆栈. 简单来说,Lua和C/C++语言通信 ...

  5. 设置 github 帐号user.name和邮箱user.email

    git config --global user.name username git config --global user.email username@email.com

  6. Ruby升级的最新方法

    今天安装cocoapods时候出现了下面的提示Error installing pods:active support requires Ruby version >= 2.2.0这个需求的意思 ...

  7. SQL查询为什么不推荐使用select count(*)

    select count(1). count(字段名) .count(*)  的区别

  8. Windows中创建桌面快捷方式

    Windows中创建桌面快捷方式 -------------- -------------- -------------- --------------

  9. 使用IExport进行图片输出出现File creation error

    使用IExport进行图片输出(.JPG)时,出现如下异常File creation error.   在ESRI.ArcGIS.Output.ExportJPEGClass.FinishExport ...

  10. MyBatis源码分析(1)——整体依赖关系图

    后续补充更新