1.基本数据类型

基本数据类型:

子类可以强转成父类,因为小范围可以强转大范围,不会有数据丢失。

父类也可以强转成子类,但是因为大范围强转成小范围,所以会有数据丢失。

2.Java 继承

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

Java 子类强转父类

父类引用指向子类对象:

java中子类强转父类,实际上依然是子类;

该引用只能调用父类中定义的方法和变量;

如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;

// A是父类,B是子类

A a = new A();

a.setName("a1");

a.sayA(); // sayA

B b = new B();

b.setName("b1");

b.setSex(true);

b.sayA(); // sayA from B

b.sayB(); // sayB

// Java中的对象进行类型提升,依然保持其原有的类型。

A a2 = (A) b; // 子类强转父类,其实仍然是子类

System.out.println(a2.toString()); // B [name=b1, age=0, sex=true]

// 该引用只能调用父类中定义的方法和变量;

// a2.sayB(); // The method sayB() is undefined for the type A 报错

// 如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;

a2.sayA(); // sayA from B a2其实是B,调用的是B方法

Java 父类强转子类

只有父类对象本身就是用子类new出来的时候, 才可以在将来被强制转换为子类对象.

// B b2 = (B) a; // atest.A cannot be cast to atest.B a是A,转不成B

// 只有父类对象本身就是用子类new出来的时候, 才可以在将来被强制转换为子类对象.

B b2 = (B) a2; // a2其实是B,可以转成B

System.out.println(b2.toString()); // B [name=b1, sex=true]

b2.sayA(); // sayA from B

b2.sayB(); // sayB

java声明一个父类A,java 子类强转父类 父类强转子类相关推荐

  1. 是否可以在Gradle中声明一个可用于Java的变量?

    本文翻译自:Is it possible to declare a variable in Gradle usable in Java? Is it possible to declare a var ...

  2. 求十个学生的平均成绩java,JAVA 声明一个数组,存一个学生的五门成绩。求该学生的总成绩、平均成绩。...

    JAVA 声明一个数组,存一个学生的五门成绩.求该学生的总成绩.平均成绩. mip版  关注:116  答案:3  悬赏:30 解决时间 2021-01-26 06:39 已解决 2021-01-25 ...

  3. 零基础学java web开发_从零基础学Java成为一个专业的java web 开发者

    原标题:从零基础学Java成为一个专业的java web 开发者 "我怎么才能成为一个Java Web开发者?"对于这个问题,答案其实并不简单.成为一个Java Web开发人员包括 ...

  4. java 声明一个bus类_Java初级阶段测试附带答案

    Java初级阶段测试3 一.选择题(每题2分,共50分) 1.整型数据类型中,需要内存空间最少的是() A) short B) long C) int D) byte 2.Java语言中() A) 一 ...

  5. int java 声明_怎样用java定义一个int数组 C++ 怎么声明一个整型数组?

    导航:网站首页 > 怎样用java定义一个int数组 C++ 怎么声明一个整型数组? 怎样用java定义一个int数组 C++ 怎么声明一个整型数组? 相关问题: 匿名网友: int[] anA ...

  6. java 声明一个bus类_第11章 新特性 – 你应该更新的Java知识之Observer - Java 基础入门笔记...

    作为一个Java程序员,不熟悉设计模式简直不好意思和人打招呼,而Observer模式可以说是位列最常用的设计模式之列,虽然有时候在具体代码里,它不一定叫这个名字,比如改头换面叫个Listener,但模 ...

  7. 用JAVA编写一个水果箱,Java SE 第四章类之间的关系--水果箱编程题

    问题:有一个水果箱(Box),箱子里装有水果(Fruit),每一种水果都有不同的重量和颜色,水果有:苹果.梨.桔子.每个苹果(Apple)都有不同的重量和颜色,每个桔子(Orange)都有不同的重量和 ...

  8. java 分割一个_分割java

    [java]分割字符串工具类,霸气 jdk自带的 java 分割字符串,分割string,可以根据多个条件去分割.比如逗号,分号,逗号或者分号. 比如一个字符串:"abc,def;gh,ij ...

  9. java声明是否是质数,java判断是否为素数(质数)的方法

    质数的定义: 对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数. 判断一个数是否为质数(素数)方法: 如果是偶数,直接返回:然后从3开始,步长为2,一直到n的算术平 ...

最新文章

  1. [你必须知道的.NET]第二十一回:认识全面的null
  2. HDU 2152 选课时间(题目已修改,注意读题) (母函数)
  3. ASP.NET 安全认证(三)—— 用Form 表单认证实现单点登录(Single Sign On) .
  4. 部门选择控件源代码公布
  5. SQL Server数据库设置自动备份策略
  6. 解决Ubuntu系统中文乱码显示问题
  7. 如何在JavaServer Pages中使用Salesforce REST API
  8. I_LIKE_CPP 多特游戏下载
  9. Windows运行命令收集
  10. pytorch torch.randn
  11. cuda 图片拆分_急需,PDF怎么拆分啊?
  12. cad高程测绘图lisp_CAD地形图高程信息快速提取的技术与实现
  13. hyper-v虚拟机驱动_如何在Hyper-V虚拟机中访问本地和USB硬盘驱动器
  14. 京东联盟API接口-京东订单查询接口-实时掌握订单情况
  15. 终于把AI换脸的原理搞清了
  16. docker android模拟器,Docker中的Android模拟器
  17. UC手机浏览器js加入收藏夹
  18. ppt矩形里面的图片怎么放大缩小_PPT中图片点击放大效果的实现
  19. 手机连不上电脑WIFI并且一直提示正在获取IP地址
  20. 显示当前数据库服务器的ip,怎么查看服务器数据库的ip地址

热门文章

  1. IMSI , MCC MNC 的概念
  2. SAP HR 组织结构定界问题解决记录
  3. Docker 高级 Docker微服务实战
  4. TOEFL wordlist 34
  5. 建工计算机在线使用,建工计算器创建公式的相关操作教程
  6. 网络抓包工具Wireshark与tcpdump介绍
  7. ASO优化:Google Play之关键词覆盖优化
  8. 极域电子教室的应用功能有多少-电子教室
  9. windows10配置zip版的MySQL 5.7.38
  10. WordPress主题制作