java向上转型不能调用子类独有的方法
向上转型只能够调用子类重写的方法,子类独有的方法在父类中根本没有定义,所以父类无法找到子类独有的方法。
package com.company;public class Main {public static void main(String[] args) {Person p = new Person("小明", 12);Student s = new Student("小红", 20, 99);// TODO: 定义PrimaryStudent,从Student继承,新增grade字段:Student ps = new PrimaryStudent("小军", 9, 100, 5);System.out.println(ps.getScore());
// 会报错,向上转型只能够调用子类重写的方法,子类独有的方法在父类中根本没有定义,
// 所以父类无法找到子类独有的方法。
// System.out.println(ps.getGrade());}
}class Person {protected String name;protected int age;public Person(String name, int age) {this.name = name;this.age = age;}public String getName() { return name; }public void setName(String name) { this.name = name; }public int getAge() { return age; }public void setAge(int age) { this.age = age; }
}class Student extends Person {protected int score;public Student(String name, int age, int score) {super(name, age);this.score = score;}public int getScore() { return score; }
}class PrimaryStudent extends Student{// TODOpublic int grade;public PrimaryStudent(String name, int age, int score, int grade){super(name, age, score);this.grade = grade;}public int getGrade() {return this.grade;}public void setGrade(int grade) {this.grade = grade;}
}
java向上转型不能调用子类独有的方法相关推荐
- java 向上转型与向下转型
基础知识:Java中的继承机制使得一个类可以继承另一个类,继承的类称为子类,被继承的类称为父类.在一个子类被创建的时候,首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来 ...
- java --向上转型和向下转型
一.简述 Java 转型主要是用在继承和接口实现的场景,Java 转型可分为向上转型和向下转型,区别如下: 向上转型:通过子类对象实例化父类对象,这属于自动转换. 向下转型:通过父类对象实例化子类 ...
- java向上转型与向下转型
java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象. 什么叫父类引用指向子类对象,且听我慢慢道来. 从2个名词开始说起:向上转型(upcasting) .向下转型(downcasti ...
- java多态父类引用指向子类对象为什么不能调用子类特有的方法?
java多态父类引用指向子类对象为什么不能调用子类特有的方法? 我们在学习java面向对象时都会发现当父类引用指向子类对象不能调用子类特有的方法 首先我们需要了解一下java多态的具体体现 1.一个对 ...
- Java 向上转型 向下转型 instanceof
看过的一些比较好的博文 Person per = new Student(); //向上转型 Student stu = (Student) per; //向下转型 Java向上转型和向下转型的通俗简 ...
- 继承(instanceof :比较运算符;不仅运行父类方法,也运行子类独有的方法)
/**/ class Animaldome{public void eat(){}public void sleep(){} }class Cat extends Animaldome{public ...
- java 向上转型_java向上转型和向下转型
转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展. 向上转型:子类引用的对象 ...
- [JAVA]向上转型与向下转型
要理解多态性,首先要知道什么是"向上转型"."向下转型". 对象的多态性:父子类对象的转换 **向上转型:**子类对象变为父类对象,语法: 父类 父类对象 = ...
- Java向上转型和向下转型
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/75530403冷血之心的博客) 向上转型:父类引用指向子类对象 ...
最新文章
- java将读到的换行符存储到数据表中_Java学习之路013天
- c++求矩阵的秩_一篇文章搞定矩阵相关概念及意义通俗解释汇总
- 数学篇(一) 矩阵运算
- Word插入Latex公式的几种方式~(TeXsWord、EqualX、Aurora、向Office插入LaTeX公式的工具)
- 从FairMOT到VoxelPose,揭秘微软以“人”为中心的最新视觉理解成果
- 【spark】Spark通过ClickHouse-Native-JDBC写入Clickhouse
- Windows使用自定义消息实现进程之间通信
- java之单例设计模式
- oracle性能优化求生指南_Vue项目性能优化--实践指南,网上最全最详细
- 云数据库模糊查询与索引管理
- Python常用基础语法
- (黑科技)超链接记录贴
- DIV 内容上下居中
- 【数分】1. 常用的效应和定律
- matlab学习五,二元函数绘图方法
- TCP三次握手中SYN,ACK,Seq三者的关系
- 计算机辅助地理教学的内容,信息技术辅助地理教学
- 整数用于编写类型 int、uint、long 和 ulong 的值
- [RK3568 Android11] 开发之开发者选项中添加USB OTG模式切换(一)
- FFMPEG转码及切片
热门文章
- Squeeze Net
- Pycharm不能用了
- python xlwt模块使用_Python使用xlwt模块 操作Excel文件(转载)
- JavaScript条形码生成插件 - 封装篇
- css hack惯用手法
- 超迷你个人电脑微型计算机,超迷你HTPC Giada N10深度解析
- 19秋学期南开c语言在线作业,南开19秋学期(1709、1803、1809、1903、1909)《C语言程序设计》在线作业满分答案1...
- PC端动态视频背景引导页(非自适应)
- WPSmushProv3.7.0图片上传压缩插件-WordPress图像优化插件
- phpShort v3.2 – PHP短网址平台源码