10.19(day10)

1. 回顾

  (1)内部类:在一个类当中又定义的类被称为内部类

  成员内部类

  方法内部类:在一个方法当中又定义的类被称为方法内部类

  匿名内部类 :直接去new接口或者是new抽象类

  (2)抽象类: 一类事物无法用具体的语言进行表述这样的类被称为抽象类

    Public abstract class 类名{

      属性

      成员方法

      抽象方法

      构造方法

    }

  (3)抽象方法: 无法用语言进行具体的表述的时候这样的方法被称为愁方法

  Public abstract 返回数据类型 方法名(参数数据类型 参数名,。。);

    如果一个类当中有抽象方法那么这个类一定是抽象类,

    如果一个类是抽象类那个这个类中不一定有抽象方法

    抽象类的作用是给子类来进行继承让子类具体的实现

  (4)接口: 接口是一种规范

  Public interface 接口名{

    常量

    抽象方法

  }

  (5)接口是给类来进行实现的

  Public class 类名 implements 接口名,接口名2,接口{

  }

  Public class 接口名 extends 父接口名,父接口2,,,{

  }

  (6)接口和抽象类又什么区别

    1. 修饰符不能 抽象类使用的abstract class进行修饰 接口是interface]

    2. 抽象类中有常量也有变量,接口只有常量

    3. 抽象类中有成员方法,而接口不能有成员方法

    4. 抽象类中可以有构造函数,但是不能创建对象,接口当中没有构造函数

    5. 抽象类是给子类进行继承的但是子类只能继承一个类 ,接口是给子类来实现子类可以同时实现多个接口

    6. 接口可以继承接口并且可以继承多个接口

    This,super不能和static同时应用

  (7)案例:某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,

  属性:员工的姓名,员工的生日月份。方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。

  SalariedEmployee:Employee的子类,拿固定工资的员工。属性:月薪

  HourlyEmployee:Employee的子类,按小时拿工资的员工,每月工作超出160小时的部分按照1.5倍工资发放。属性:每小时的工资、每月工作的小时数

  SalesEmployee:Employee的子类,销售人员,工资由月销售额和提成率决定。属性:月销售额、提成率

  BasePlusSalesEmployee:SalesEmployee的子类,有固定底薪的销售人员,工资由底薪加上销售提成部分。属性:底薪。

  写一个程序,把若干各种类型的员工放在一个Employee数组里,写一个方法,打印出某月每个员工的工资数额。

注意:要求把每个类都做成完全封装,不允许非私有化属性。

2. 面向对象特征:

  封装 private

  继承 extends

  多态:顾明思议就是多种形态的意思,例如 人 小孩 中年 老年

    狗 : 二哈 小狗 大狗

    水: 热水,冰水 蒸汽

    形状: 三角形 四边形 五边形

    只要使用到了 继承 向上转型 方法的重写

posted on 2018-10-22 08:51  /a_a/  阅读(108)  评论(0编辑  收藏  举报

导航