开发者社区> RainstormGod> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Java类的转型总结

简介: Java类的转型总结
+关注继续查看

目录

对象的多态(多态的核心)

向上转型

向下转型

总结:



  • 对象的多态(多态的核心)
    1. 一个对象的编译类型和运行类型可以不一致,也可以一致
    2. 编译类型在定义对象时,就确定了不能改变
    3. 运行类可以改变 例如: Animal animal = new Dog(); animal的运行类型变成了Dog,编译类型仍然是Animal
    4. 编译类型看=的左边,运行类型看=的右边(编译 javac 运行是Java)

 

向上转型

 

  • 父类引用指向子类对象(重要
  • 语法:父类类型  引用名   =  new  子类类型( );
  • 向上转型调用方法的规则
    1. 可以调用父类中的所有成员(需遵守访问权限)
    2. 但是不能调用子类的特有的成员,因为在编译阶段,能调用哪些成员,是由编译类型来决定的
    3. 最终运行效果看子类(运行类型)的具体实现, 即调用方法时,按照从子类(运行类型)开始查找方法,然后调用,规则我前面我们讲的方法调用规则一致 
  • 重要!!属性没有重写!属性看编译类型(看下方代码)

public class PolyDetail02 {

public static void main(String[] args) {

//属性没有重写之说!属性的值看编译类型

Base base = new Sub();//向上转型

System.out.println(base.count);// 看编译类型 输出10

Sub sub = new Sub();

System.out.println(sub.count);//?   输出20

}}

class Base { //父类

int count = 10;//属性

}

class Sub extendsBase {//子类int  count = 20;//属性

}

向下转型

  • 子类对象 引用名 = (子类类型)父类引用
  • 只能强转父类的引用,不能强转父类的对象,所以必须先向上转型,才能向下转,因为得先向上转得到父类的引用
  • 可以调用子类的所有成员,(向下转型可以得到子类的特有方法),即等同于一般子类对象。

总结:

  • 访问属性看编译类型,编译类型是谁就访问谁

  • 访问方法看运行类型,运行类型是谁就访问谁

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
LinkedList的模拟实现(Java实现)
LinkedList的底层是用一个双向链表实现的,即一个结点中除了有一个引用指向下一个结点的地址,还有一个引用指向前一个结点的地址。
23 0
Webscoket通信,java使用springboot集成,实现页面无刷新消息提示
Webscoket通信,java使用springboot集成,实现页面无刷新消息提示
26 0
链表OJ题---Java实现
遍历链表与给定值比较,如果节点的值与给定值相等就删除该节点,链表节点的删除需要标记删除节点的前一个节点。
49 0
基本排序算法总结(Java实现)
排序概念就是将一串记录按照其中某个或某些关键字的大小,递增或递减的排列起来的操作。
14 0
(Java)数据结构之队列(Queue),含有三个OJ题(用队列实现栈,用栈实现队列,实现一个最小栈)
队列只允许在一端进行插入操作,在另一端进行删除操作的特殊线性表,队列具有先进先出(FIFO)的特性,进行插入操作的一端为队尾,进行删除操作的一端为队头。
9 0
LeetCode206---反转链表(Java实现,有图解)
该链表是单链表,反转后的链表的每个结点都指向前一个结点,即第一个指向空,最后一个指向倒数第二个。
16 0
java的jar包服务实现开机启动
java的jar包服务实现开机启动
13 0
编写Java程序,实现字符串统计和处理
编写Java程序,实现字符串统计和处理
53 0
编写Java程序,利用List实现报数游戏的实现思路
编写Java程序,利用List实现报数游戏的实现思路
121 0
编写Java程序,使用Set实现不重复添加用户
编写Java程序,使用Set实现不重复添加用户
128 0
+关注
RainstormGod
眼睛可以近视,但目光不能短浅。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Java基础入门(四)-泛型、反射、注解
立即下载
Java基础入门(三)-阿里巴巴Java开发手册介绍
立即下载
《阿里巴巴Java开发手册(终极版)》
立即下载