父类声明子类实例化对象详解
测试代码:
public class Employee {public String name;public String getType(){return "Employee";}}
public class Manager extends Employee{private int money;public String getType(){return "Manager";}
}
public static void main(String[] args) {// TODO Auto-generated method stubEmployee A=new Manager();A.name="Tom";//A.money=2;//报错String Type=A.getType();System.out.println(Type);//Manager}
通过测试我们发现以下几点:
- A对象可以使用从父类继承下来的非public属性
- A对象无法使用Manager子类新增的money属性
- A对象调用的方法是子类的方法
总结:父类声明子类实例化产生的对象使用的是子类从父类继承的方法和属性。
原理:
Employee A=new Manager();
实际是父类句柄指向子类对象空间,所以使用的属性和方法都是子类对象所有的。而因为是父类的句柄指向的只能是父类所拥有的属性和方法,所以指向的属性和方法实则又必须是是从父类继承而来的。
注意:
不能用子类声明父类实例化对象!
因为子类的句柄指向父类空间时,有可能有部分子类的属性方法是父类所没有的,因此,子类句柄无法指向有效的空间,编译无法通过。
父类声明子类实例化对象详解相关推荐
- java父类声明子类实现_java中父类声明子类实例化
问题: 1.比如两个类父类:Person 子类 Student extends Person在使用时候,这样写:Person person=null; //声明对象person=new Student ...
- php框架例子,php框架中的动态实例化对象详解
在框架开发,模块化开发等场合,我们可能有一种需求,那就是在PHP运行时动态实例化对象. 什么是动态实例化对象呢?我们先来看一下PHP有一种变量函数(可变函数)的概念,例如如下代码:function f ...
- java 静态对象赋值_基于Java class对象说明、Java 静态变量声明和赋值说明(详解)...
先看下JDK中的说明: java.lang.Object java.lang.Class Instances of the class Class represent classes and inte ...
- java out对象_JSP out对象详解
JSP out对象详解 out对象就是在Web应用开发过程中使用最多的一个对象,其功能就是动态的向JSP页面输出字符流,从而把动态的内容转化成HTML形式来展示,这个对象在任何JSP页面中都可以任意访 ...
- JS中的event 对象详解
JS中的event 对象详解 JS的event对象 Event属性和方法: 1. type:事件的类型,如onlick中的click: 2. srcElement/target:事件源,就是发生事件的 ...
- Henry前端笔记之 Date对象详解
Henry前端笔记之 Date对象详解 Date 对象 1 时间格式简介 2 Date.now 与 new Date().getTime() 的区别 3 Date对象详解 普通函数的用法 构造函数的用 ...
- JavaScript对象详解
转载请注明预见才能遇见的博客:https://my.csdn.net/ 原文地址:https://blog.csdn.net/weixin_42787326/article/details/81297 ...
- jQuery的deferred对象详解
阮一峰大神的关于jQuery的deferred对象详解 http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_ ...
- 【ES6】Promise对象详解
[ES6]Promise对象详解 一.Promise对象的含义 二.Promise对象的用法 三.Promise对象的几个应用[重点] 1.时间延迟函数 2.图片异步加载 查看更多ES6教学文章: 参 ...
最新文章
- MySQL中 Order By 和 Limit 的排序问题
- 使用STVP解除STM32读保护
- 9 10次C语言上机作业,C语言第五次上机作业参考答案
- pandas用read_csv时编码问题解决
- JavaWeb开发环境配置
- 70% 产品经理都在考虑跳槽?还有哪些你不知道的行业真相
- PMCAFF微课堂 | 积木盒子产品总监 杨帆:互联网金融撮合交易的本质
- 每个软件开发人员都应该知道的5种设计模式
- go 项目 cmd目录_Golang 项目布局浅析
- Ubuntu禁用root登录
- Python---装饰器
- golang笔记14--go 语言爬虫实战项目介绍
- Python进行灰色关联度综合评价
- 算法题目打卡:Ques20201004
- 精读Tree Energy Loss: Towards Sparsely Annotated Semantic Segmentation
- 入职一年,升职一次,涨薪两次
- APP运营推广不简单 这些数据指标一定要看!
- 基于Servlet的验证码登陆demo
- Vivado综合设置之-keep_equivalent_registers
- Flutter事件分发流程简析