课后作业
2015-11-08 10:19
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()方法。
相关文章推荐
- Android数据库使用(ORMLite)
- 每天一个linux命令(38):cal 命令
- Quant 应该学习哪些 Python 知识?
- Swift 中 Selector 方法的访问权限控制问题
- 网易游戏2011.10.15校园招聘笔试题
- DayDayUP_大数据学习课程[1]_hadoop2.6.0完全分布式集群环境和伪分布式集群搭建
- JS判断input输入类型是否为整数,浮点数
- 17条 Swift 最佳实践规范
- 整洁代码原则
- 2014网易游戏TTT笔试
- Spring+SpringMVC+MyBatis整合教程
- 整洁代码原则
- selenium:org.openqa.selenium.WebDriverException: f.QueryInterface is not a function
- hdu5122
- 博客迁移
- Spring配置文件的使用
- POJ 1611 The Suspects (并查集)
- 在UITouch事件中画圆圈-iOS8 Swift基础教程
- 多态性
- 信息安全系统设计基础第九周学习总结