继承 利用方法的重写实现多态 (bu) 2018-09-04

一、抽象类
1.什么是抽象类:使用abstract定义的类就是抽象类.
注意:抽象类中可以出现抽象方法.

2.定义抽象类
public abstract class Usb {
定义抽象方法
}
注意:a.抽象类中可以出现抽象方法
b.抽象类不能被实例化,只能被继承使用
c.当子类继承抽象类时,必需实现抽象方法(重写)
d.使用抽象类
抽象类 对象名=new 实现继承抽象类的类();

3.什么是抽象方法:没有方法体且用abstract定义的方法为抽象方法
示例:
public abstract void method();

二、final关键字(最终)
1.使用final修饰的类为终态类,不能被继承
public final class Parent {}

2.使用final修饰的方法为最终方法,不能被重写
public final void method() {}

3.用final修饰的属性为常量,必需初始值,不能被修改
public final float pi=3.14f;

上机练习一:使用抽象类模拟usb工作原理
1.usb类  抽象方法work
2.Mouse类 实现方法
3.KeyBoard类
4.发生重写

三、多态(多种形态)
1.现实生活中的多态:
同一个事物,在不同的条件下,产生的结果不同

2.程序中的多态
同一个引用类型(父类引用),使用不同的实例(子类对象)而执行不同的操作;
父类引用=new 任何子类();

3.实现多态的思路:
3.1定义父类
3.2定义子类继承父类,重写父类的方法
3.3发生多态
父类引用=new 任何子类();

四、父类与子类间的转换
1.向上转型(自动转):指子类对象向父类转型
Person person=new Student(); //向上转型:方法重写

2.向下转型(强制转换):将父类强制转化为子类对象
注意:父类引用不能访问子类的成员(向下转型),重写方法除外

3.使用instanceof关键字判断某对象是不是该类的对象
对象 instanceof 类名 //是返回true,反之false
示例:
if(p instanceof Student) {
Student stu=(Student)p;
System.out.println("学号是:"+stu.getXh());
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是...
    灯火gg阅读 3,489评论 1 24
  • 妈妈那天很失落 我给她唱了首军营的歌
    厂小白阅读 141评论 0 0
  • 相识未名湖 蕲春县青石镇水车...
    张梦笔阅读 705评论 0 2
  • 在使用Go语言进行开发的时候,有的时候可能要发送get或者post请求,下面我对post和get请求做一下简单的介...
    小歪子go阅读 20,040评论 0 6