博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阿花宝宝 Java基础笔记 之 多态区分
阅读量:6934 次
发布时间:2019-06-27

本文共 789 字,大约阅读时间需要 2 分钟。

 多态

 Pet p = new Dog();
 前边是父类类型 后面是子类类型;
 都是p.mm();
1、如果父类有 子类有
   那么调用 子类的
2、如果父类有 子类没有
   那么调用  父类的
3、如果父类没有 子类有
   那么 报错!!!!
一 。 多态
   父类类型  父类引用 = new 子类类型();
   多态 三要素:
   1 、  要有继承关系  extends
   2 、  要有方法重写  
 第一种情况子类没有重写父类同名方法时,子类对象调用的是父类的方法
 第二种情况  父类没有此方法,无法使用父类对象去调用(编译不能通过)
 编译时: 看写的对象是什么类型  就访问什么类型
 运行时: 会根据传进来的真实类型来调用相应方法
 JVM动态绑定机制:根据运行时的真实类型去调用相应的方法
   3 、  要有父类引用指向子类对象
二 、 抽象方法
  1 、 抽象方法没有具体实现 访问修饰符 abstract  返回类型 方法名()

  2 、 抽象方法所在的类必须是抽象类

       访问修饰符 abstract class() 类名
  3 、 子类必须实现抽象服了的抽象方法  除非子类也是抽象的
  4 、 抽象类中可以有抽象方法 也可以没有
  5 、 抽象类不可以被实例化
三  向下转型和向下转型
向下转型:
  (子类类型)子类引用 = (子类类型)父类引用
   向下转型后才能调用子类特有的方法
 
   当要转换类型与父类引用指向的子类类型不一致时候  报错。。。。。。。

   解决办法

   使用 instanceof 关键字判断类型
  
四 、父类类型作为方法的返回值
  访问修饰符 父类类型 方法命(参数){
 return 具体子类对象;
   测试类  :
   1. 询问: 要打印什么呀?  (电视类还是视频)
   2. 根据询问的结果 返回一个具体的子类对象  
   3.

转载于:https://www.cnblogs.com/ECS666666/p/5339716.html

你可能感兴趣的文章
使用OAuth2的SSO分析
查看>>
初识jsonp
查看>>
#ZLYD团队第二周项目总结
查看>>
继承映射
查看>>
JSP基础
查看>>
简单介绍
查看>>
Djano 分页 day3 html_helper.py
查看>>
JavaScript 区分中英文字符的两种方法: 正则和charCodeAt()方法
查看>>
【机器学习-西瓜书】一、绪论
查看>>
tableView 选中cell时,获取到当前cell
查看>>
[笔迹]java-其他
查看>>
第x次安装Debian6
查看>>
js 验证表单 js提交验证类
查看>>
MySQL--query-cache
查看>>
Android使用XML全攻略(2)
查看>>
[USACO08FEB]酒店Hotel
查看>>
卫生纸效果,哈哈
查看>>
mysql导入excel数据
查看>>
Java中写入文件时换行符用"\r\n"、"\n"、"\r"?
查看>>
AIX 命令
查看>>