1、面向对象(多态的概述及其代码体现)

  • A:多态(polymorphic)概述

    • 事物存在的多种形态
  • B:多态前提
    • a:要有继承关系。
    • b:要有方法重写。
    • c:要有父类引用指向子类对象。
  • C:案例演示
    • 代码体现多态

2、面向对象(多态中的成员访问特点之成员变量)

  • 成员变量

    • 编译看左边(父类),运行看左边(父类)。

3、面向对象(多态中的成员访问特点之成员方法)

  • 成员方法

    • 编译看左边(父类),运行看右边(子类)。

4、面向对象(多态中的成员访问特点之静态成员方法)

  • 静态方法

    • 编译看左边(父类),运行看左边(父类)。
    • (静态和类相关,算不上重写,所以,访问还是左边的)
    • 只有非静态的成员方法,编译看左边,运行看右边

5、面向对象(超人的故事)

  • A:案例分析

    • 通过该案例帮助学生理解多态的现象

6、面向对象(多态中向上转型和向下转型)

  • A:案例演示

    • 详细讲解多态中向上转型和向下转型 Person p = new SuperMan();向上转型 SuperMan sm = (SuperMan)p;向下转型

7、面向对象(多态的好处和弊端)

  • A:多态的好处

    • a:提高了代码的维护性(继承保证)
    • b:提高了代码的扩展性(由多态保证)
  • B:案例演示
    • 多态的好处
    • 可以当作形式参数,可以接收任意子类对象
  • C:多态的弊端
    • 不能使用子类的特有属性和行为。
  • D:案例演示 method(Animal a) method(Cat c)

8、面向对象(多态中的题目分析题)

  • A:看下面程序是否有问题,如果没有,说出结果
  • class Fu {
    public void show() {
    System.out.println("fu show");
    }
    } class Zi extends Fu {
    public void show() {
    System.out.println("zi show");
    } public void method() {
    System.out.println("zi method");
    }
    } class Test1Demo {
    public static void main(String[] args) {
    Fu f = new Zi();
    f.method();
    f.show();
    }
    }
  • B:看下面程序是否有问题,如果没有,说出结果
  • class A {
    public void show() {
    show2();
    }
    public void show2() {
    System.out.println("我");
    }
    }
    class B extends A {
    public void show() {
    show2();
    }
    public void show2() {
    System.out.println("爱");
    }
    }
    class C extends B {
    public void show() {
    super.show();
    }
    public void show2() {
    System.out.println("你");
    }
    }
    public class Test2DuoTai {
    public static void main(String[] args) {
    A a = new B();
    a.show(); B b = new C();
    b.show();
    }
    }

9、面向对象(抽象类的概述及其特点)

  • A:抽象类概述

    • 抽象就是看不懂的
  • B:抽象类特点
    • a:抽象类和抽象方法必须用abstract关键字修饰

      • abstract class 类名 {}
      • public abstract void eat();
    • b:抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口
    • c:抽象类不能实例化那么,抽象类如何实例化呢?
      • 按照多态的方式,由具体的子类实例化。其实这也是多态的一种,抽象类多态。
    • d:抽象类的子类
      • 要么是抽象类
      • 要么重写抽象类中的所有抽象方法
  • C:案例演示
    • 抽象类特点

10、面向对象(抽象类的成员特点)

  • A:抽象类的成员特点

    • a:成员变量:既可以是变量,也可以是常量。abstract是否可以修饰成员变量?不能修饰成员变量
    • b:构造方法:有。
      • 用于子类访问父类数据的初始化。
    • c:成员方法:既可以是抽象的,也可以是非抽象的。
  • B:案例演示
    • 抽象类的成员特点
  • C:抽象类的成员方法特性:
    • a:抽象方法 强制要求子类做的事情。
    • b:非抽象方法 子类继承的事情,提高代码复用性。

11、面向对象(葵花宝典)

  • 案例演示

    • 抽象类的作用

12、面向对象(抽象类练习猫狗案例)

  • A:案例演示

    • 具体事物:猫,狗
    • 共性:姓名,年龄,吃饭
    • 猫的特性:抓老鼠
    • 狗的特性:看家

13、面向对象(抽象类练习老师案例)

  • A:案例演示

    • 具体事物:基础班老师,就业班老师
    • 共性:姓名,年龄,讲课。
    • 具体事物:基础班学生,就业班学生
    • 共性:姓名,年龄,学习

14、面向对象(抽象类练习员工案例)

  • A:案例演示

    • 假如我们在开发一个系统时需要对程序员类进行设计,程序员包含3个属性:姓名、工号以及工资。
    • 经理,除了含有程序员的属性外,另为还有一个奖金属性。
    • 请使用继承的思想设计出程序员类和经理类。要求类中提供必要的方法进行属性访问。

15、面向对象(抽象类中的面试题)

  • A:面试题1

    • 一个抽象类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
    • 可以
    • 这么做目的只有一个,就是不让其他类创建本类对象,交给子类完成
  • B:面试题2
    • abstract不能和哪些关键字共存

16、面向对象(接口的概述及其特点)

  • A:接口概述

    • 从狭义的角度讲就是指java中的interface
    • 从广义的角度讲对外提供规则的都是接口
  • B:接口特点
    • a:接口用关键字interface表示

      • interface 接口名 {}
    • b:类实现接口用implements表示
      • class 类名 implements 接口名 {}
    • c:接口不能实例化
      • 那么,接口如何实例化呢?
      • 按照多态的方式来实例化。
    • d:接口的子类
      • a:可以是抽象类。但是意义不大。
      • b:可以是具体类。要重写接口中的所有抽象方法。(推荐方案)
  • C:案例演示
    • 接口特点

17、面向对象(接口的成员特点)

  • A:接口成员特点

    • 成员变量;只能是常量,并且是静态的并公共的。 * 默认修饰符:public static final * 建议:自己手动给出。
    • 构造方法:接口没有构造方法。
    • 成员方法:只能是抽象方法。 * 默认修饰符:public abstract * 建议:自己手动给出。
  • B:案例演示
    • 接口成员特点

18、面向对象(类与类,类与接口,接口与接口的关系)

  • A:类与类,类与接口,接口与接口的关系

    • a:类与类:

      • 继承关系,只能单继承,可以多层继承。
    • b:类与接口:
      • 实现关系,可以单实现,也可以多实现。
      • 并且还可以在继承一个类的同时实现多个接口。
    • c:接口与接口:
      • 继承关系,可以单继承,也可以多继承。
  • B:案例演示
    • 类与类,类与接口,接口与接口的关系

19、面向对象(抽象类和接口的区别)

  • A:成员区别

    • 抽象类:

      • 成员变量:可以变量,也可以常量
      • 构造方法:有
      • 成员方法:可以抽象,也可以非抽象
    • 接口:
      • 成员变量:只可以常量
      • 成员方法:只可以抽象
  • B:关系区别

    • 类与类

      • 继承,单继承
    • 类与接口
      • 实现,单实现,多实现
    • 接口与接口
      • 继承,单继承,多继承
  • C:设计理念区别

    • 抽象类 被继承体现的是:”is a”的关系。抽象类中定义的是该继承体系的共性功能。
    • 接口 被实现体现的是:”like a”的关系。接口中定义的是该继承体系的扩展功能。

20、面向对象(猫狗案例加入跳高功能分析及其代码实现)

  • A:案例演示

    • 动物类:姓名,年龄,吃饭,睡觉。
    • 猫和狗
    • 动物培训接口:跳高

JavaEE基础(九)的更多相关文章

  1. javaEE基础08

    javaEE基础08 一.继承 特点:继承父类的属性和方法,单继承(多继承) 特性:方法的复写(重写) 比如:人可以养狗 人------>狗:整体和部分(拥有)关系 关键字:extends 结构 ...

  2. Bootstrap<基础九>辅助类

    Bootstrap 中的一些可能会派上用场的辅助类. 文本 以下不同的类展示了不同的文本颜色.如果文本是个链接鼠标移动到文本上会变暗: 类 描述   .text-muted "text-mu ...

  3. Java语言基础(九)

    Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...

  4. {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证

    Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...

  5. Java基础九--抽象类

    Java基础九--抽象类 一.抽象类介绍 /*抽象类:抽象:笼统,模糊,看不懂!不具体. 特点:1,方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰. 抽象方法必须定义在抽象类中 ...

  6. 4. 什么是应用服务器? - JavaEE基础系列

    本文是JavaEE基础系列的第四节. Java EE简介 - JavaEE基础系列 JSR简介 - JavaEE基础系列 什么是JSR参考实现? - JavaEE基础系列 上一节介绍了什么是JSR参考 ...

  7. 3. 什么是JSR参考实现? - JavaEE基础系列

    本文是JavaEE基础系列的第三节. Java EE简介 - JavaEE基础系列 JSR简介 - JavaEE基础系列 上一节中, 我们介绍了什么是JSR.JSR就是一个提交到JCP的抽象请求,包含 ...

  8. 2.JSR简介 - JavaEE基础系列

    JSR, Java Specification Request, Java规范请求; 也有的地方翻译为Java规范提案. 在前面的文章 1. Java EE简介 - JavaEE基础系列中, 简要介绍 ...

  9. day 63 Django基础九之中间件

    Django基础九之中间件   本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学 ...

随机推荐

  1. MAC中开发Unity3D

    一直想做3D开发,去年后半年开始学IOS下的OpenGL,只学会了纹理,而且灯光音效什么的好麻烦,于是想学学Unity3D. 今年年初就计划上了,可是Unity3D收费,费用不便宜呢.用Unity3D ...

  2. RouterOS软路由常用命令

    修改用户密码 [admin@MikroTik]>/user                               #进入操作路径 [admin@MikroTik]/user>prin ...

  3. [CC]CC插件初探

    应用程序插件框架的内容包括:主程序App,插件Plugin. 1.实现一个应用程序插架框架关键点有: 一个插件的标准接口,在主程序中存在一个插件的集合.主程序通过循环读取每个插件,将插件对象通过多态的 ...

  4. MongoDB ObjectId

    概述 > db.col.find() { , } { , } { , } { , } 每个文档中都有一个“_id”,她是一个12字节的BSON类型数据,格式如下 56c56dd4ca446fab ...

  5. 微信消息回复C#

    第一句话都会这么去写:程序猿就是苦逼,除了开发还要会写博文!哎,继上次写了C#成为微信开发者后,博友们积极查看本篇博客,在此深表感谢.顺便报一下上篇博客的网址:http://www.cnblogs.c ...

  6. Oracle Flashback Technologies - 闪回数据库

    Oracle Flashback Technologies - 闪回数据库 根据指定的SCN,使用rman闪回数据库 #查看可以闪回到多久前 SQL> select * from v$flash ...

  7. Struts2 用 s:if test 判断属性和字符串相等时 注意双引号和单引号的使用

    字符串N一定要用“”双引号包含,从test的包含则用单引号 ‘ ’,如果相反,则不能正确判断该属性是否与该字符串相等. 正确:<s:if test='activityBean.searchFor ...

  8. 从零开始PHP攻略(3)——数据的存储与检索

    要点目录: I.保存数据 II.打开文件   III.创建并写入文件 IV.关闭文件 V.读文件 VI.给文件加锁 VII.删除文件 VIII.其他有用的文件操作函数 IX.数据库管理系统 1.保存数 ...

  9. C#: 集合

    摘自http://www.cnblogs.com/kissdodog/archive/2013/01/29/2882195.html 先来了解下集合的基本信息 1.BCL中集合类型分为泛型集合与非泛型 ...

  10. 关于非阻塞connect的若干细节性问题

    我们用man connection命令查看手册,如下:   EINPROGRESS The socket is nonblocking and the connection cannot be com ...