继承情况下构造方法的调用过程-java
继承情况下构造方法的调用过程-java
super关键字:可以看做是直接父类对象的引用。每个子类对象都会有一个super引用
指向其直接父类对象。super可以:1、调用成员变量 super.color
2、调用成员方法 super.show
3、调用构造方法 super(color,age);继承条件下构造方法的执行顺序1、构造放法的第一条语句默认是super();含义是调用父类无参数构造方法2、构造方法的第一条语句可以显式的指定为父类的有参数构造方法:super(...);3、构造方法的第一条语句可以显式的指定为当前类的构造方法:this(...);注意事项1、每个类最好要提供无参数的构造方法2、构造方法的第一条语句可以是通过super或者this调用构造方法,必须是第一条语句3、构造方法中不能同时使用super和this调用构造方法,并不是说不能同时出现this和super
public class Animal {String color;private int age;public Animal(){super();}public Animal(String color,int age){this.color = color;this.age = age;}public int getAge() {return age;}public void setAge(){this.age = age;}
}
/*** 继承情况下构造放法的调用过程*/
public class Dog extends Animal{private String nikeName;private String type;public Dog(){super();//默认第一条语句为super();可以省略不写}public Dog(String color,int age,String nikeName){super(color,age);//调用父类(Animal类)构造方法this.nikeName = nikeName;}public Dog(String color,int age,String nikeName,String type){this(color,age,nikeName);//调用Dog类(本类)含参构造方法this.type = type;}@Overridepublic String toString (){return "[color="+this.color+" "+"age="+this.getAge()+" "+"nikeName="+this.nikeName+" "+"type="+this.type+"]";}public static void main(String[] args) {Dog dog = new Dog("黑色",3,"旺财","金毛");System.out.println(dog.toString());}
}
执行代码如下:
继承情况下构造方法的调用过程-java相关推荐
- C++程序运行时内存布局之--无继承情况下的虚函数
2019独角兽企业重金招聘Python工程师标准>>> 虚函数是C++实现多态的关键,没有虚函数,C++只能是OB,不能完成OO. 本文介绍的是没有继承情况下,带有虚函数的类在内存中 ...
- c++无继承情况下的对象构造
无继承情况下的对象构造 C struct的Point声明 在C和C++中有什么区别? 抽象数据类型 包含虚函数的Point声明 自定义构造函数中会安插初始化vptr的代码 以成员为基础的赋值操作 C ...
- php的魔术方式包含哪些(越多越好)? 在何情况下被自动调用?,php笔试题及答案
php笔试题及答案 T1 一.填空题 1.PHP是用什么语言编写的? :脚本语言 2. LAMP的全称是? :LINUX .APACHE. MYSQL. PHP 3. PHP的三种注释方式? :#./ ...
- 非多态的继承情况下,基类指针可以指向派生类对象么?
class Base { // 基类 public:Base(int aa=88) : a(aa) {}void f() { // 非virtualcout<<"Base&quo ...
- 无源码情况下动态调试混淆的java程序
逆向工程JAVA通常是非常简单的,因为优秀的JAVA二进制反编译器已经存在多年.类似于jd-gui工具和恢复java二进制文件源代码功能也做的非常出色的.在这种情况下我们需要动态调试java反编译ja ...
- C++中虚函数的理解,以及简单继承情况下的虚函数的表!
面向对象的三大特征=封装性+继承性+多态性 封装=将客观事物抽象成类,每个类对自身的数据和方法实行权限的控制 继承=实现继承+可视继承+接口继承 多态=将父类对象设置成为和一个或者更多它的子对象相等的 ...
- “无继承”情况下的对象构造
先留个底,晚上开始看这章 转载于:https://www.cnblogs.com/kddsly/archive/2010/03/24/1693384.html
- java 抽象类与接口区别是什么_JAVA中抽象类与接口的区别,分别在什么情况下使用它们...
在网上看到很多人问关于"抽象类与接口的区别",因此本人想通过自己多年对JAVA开发的经验来总结一下抽象类与接口的区别以及分别在什么情况下使用它们. 在Java语言中, abstra ...
- 浅谈JVM(六):方法调用过程
上一篇: 浅谈JVM(一):Class文件解析 浅谈JVM(二):类加载机制 浅谈JVM(三):类加载器和双亲委派 浅谈JVM(四):运行时数据区 浅谈JVM(五):虚拟机栈帧结构 6.方法调用过程 ...
最新文章
- [转]Passing data between pages in JQuery Mobile mobile.changePage
- MySQL原生密码认证
- SpringBoot之Servlet、Filter、Listener配置
- VS Code 全部快捷键一览表(巨TM全)
- 6月26号.NET面试题(程序题部分)只要做懂这3道题肯定能脱离菜鸟称号!
- 各版本lettuce spring集成流程(连接池、哨兵配置)
- 信息学奥赛一本通C++语言——1030: 计算球的体积
- api postmain 鉴权_认证鉴权与API权限控制在微服务架构中的设计与实现(一)
- LINUX查找所有文件,按照时间排序
- 【娜家花园养花小记】
- python通过串口发送bin文件
- vuejs crc算法,16进制换算
- mysql 截断日期_数据截断:错误的日期时间值:“
- MongoDB 文档数据库
- 业绩不稳的永信至诚,能稳坐国内网络靶场的头把交椅吗?
- 怎样让chatGPT给你打工然后月入过千?
- 【初等数论】【转载】夜深人静写算法(五) - 初等数论
- 检验c语言程序是否正确的程序,c语言实习心得体会范文
- 上海京东招聘 Java_【上海京东工资】java开发工程师待遇-看准网
- 郑州时代科技计算机专业介绍,2021郑州的中专排名郑州时代科技中等职业学校毕业可以升大专吗...
热门文章
- C++PrimerPlus学习——第十七章编程练习
- java入栈_java中代码块的执行,也会有入栈的步骤吗?
- python四级考试时间_四级英语考试如何准备呢?
- 树莓派存储方案_如何增加树莓派的存储量
- vscode代码库登录配置_VSCode 配置 Sonar Lint支持代码检查提效
- 关于js函数未定义not defined引发的感想
- java实现 XSS攻击防护
- Java数据库篇1——数据库配置
- linux能记录日志的终端,Linux上的日志系统
- c++byte数组和文件的相互转换_终于!word、excel、ppt文件相互转换技巧来了!