课后作业和动手动脑
2015-11-08 16:26
253 查看
一,运行TestInherits.java
通过super调用基类构造方法,必是子类构造方法中的第一个语句。
二.为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?
构造函数的主要作用:构造函数是类的一个特殊方法,这个方法用来生成实例时由系统自动调用程序员无法直接调用。构造函数方法名同类名相同且参数为空。子类继承父类后默认继承父类的构造函数,即:子类存在隐含方法:super(),如果子类重写构造函数则子类也隐含调用super().
三.运行Address.java
四.运行ExplorationJDKSource.java
main方法实际上调用的是:public void println(Object x),这一方法内部调用了String类的valueOf方法。valueOf方法内部又调用Object.toString方法:
public String toString() {
return getClass().getName() +"@" + Integer.toHexString(hashCode());
}
五.运行Furit.java
Fruit类覆盖了Object类的toString方法。在“+”运算中,当任何一个对象与一个String对象,连接时,会隐式地调用其toString()方法,默认情况下,此方法返回“类名 @ + hashCode”。为了返回有意义的信息,子类可以重写toString()方法。
通过super调用基类构造方法,必是子类构造方法中的第一个语句。
二.为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?
构造函数的主要作用:构造函数是类的一个特殊方法,这个方法用来生成实例时由系统自动调用程序员无法直接调用。构造函数方法名同类名相同且参数为空。子类继承父类后默认继承父类的构造函数,即:子类存在隐含方法:super(),如果子类重写构造函数则子类也隐含调用super().
三.运行Address.java
四.运行ExplorationJDKSource.java
main方法实际上调用的是:public void println(Object x),这一方法内部调用了String类的valueOf方法。valueOf方法内部又调用Object.toString方法:
public String toString() {
return getClass().getName() +"@" + Integer.toHexString(hashCode());
}
五.运行Furit.java
Fruit类覆盖了Object类的toString方法。在“+”运算中,当任何一个对象与一个String对象,连接时,会隐式地调用其toString()方法,默认情况下,此方法返回“类名 @ + hashCode”。为了返回有意义的信息,子类可以重写toString()方法。
相关文章推荐
- WRF大神
- Python学习笔记
- 前端引擎初步设计稿 -通过配置生成动态页面 ,LandaSugar平台 .NET-C#-MVC
- Jackson和fastjson简单用法及性能对比
- iOS开发27-iOS 可视化编程-Size Classes
- 一般网站架构演化
- loadrunner通过C语言实现自定义字符出现次数截取对应字符串
- loadrunner通过C语言实现字符的替换(只能替换单个字符,慎用)
- 继承条件下的构造方法调用
- POJ 3281 Dining(网络流最大匹配)
- cocos2d-x游戏循环和日程安排
- 软件工程经验总结系列之二 - 概念阶段控制
- Begin
- 【不断更新】【2016.2.25】数学与计算之桥
- java学习日记----------------为窗口添加背景图
- 我的QT5学习之路(二)——第一个程序
- MongoDB自学日记2——权限
- Leetcode_278_First Bad Version
- php常见错误
- chart.js绘制精美的数据化图形--入门示例