接口与继承动手动脑整理
动手实验:继承条件下的构造方法调用
运行 TestInherits.java示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大!
是第一句的情况:
不是第一句的情况:
结论:通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句。
不可变类的实例:Address.java
参看ExplorationJDKSource.java示例
此示例中定义了一个类A,它没有任何成员:
class A { },示例直接输出这个类所创建的对象
public static void main(String[] args) {
System.out.println(new A());}
我们得到了一个奇特的运行结果:
反汇编:
前面示例中,main方法实际上调用的是:public void println(Object x),这一方法内部调用了String类的valueOf方法。valueOf方法内部又调用Object.toString方法:
public String toString() {
return getClass().getName() +"@" +
Integer.toHexString(hashCode());
}
hashCode方法是本地方法,由JVM设计者实现: public native int hashCode();
我们来看一段代码(示例Fruit.java ):
注释掉toString方法之后:
去掉所有注释后:
结论:在“+”运算中,当任何一个对象与一个String对象,连接时,会隐式地调用其toString()方法,默认情况下,此方法返回“类名 @ + hashCode”。为了返回有意义的信息,子类可以重写toString()方法。
转载于:https://www.cnblogs.com/iloveblog/p/4936552.html
接口与继承动手动脑整理相关推荐
- JAVA07 接口与继承
一 动手实验:继承条件下的构造方法调用 1)源代码 1 public class TestInherits { 2 3 public static void main(String[] args) ...
- java part.inlimen_java字符串加密及动手动脑
字串加密: 请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想.程序流程图.源代码.结果截图. 设计思想:先输入一个字符串,调用toCharArray()函数将它转化为字符数组,在利 ...
- 完成课件中的动手动脑的或需要验证的相关内容。
一.运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是 ...
- java用对话框输出计算结果_动手动脑及java程序之用消息框进行数的运算
动手动脑自信成就人生 动手动脑1 ✿仔细阅读示例: EnumTest.java,运行它,分析运行结果? package demo; public class Test { public static ...
- JAVA课上动手动脑问题以及课后测试1,2总结
课堂测试1 像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 "软件" 2 (1)题目避免重复 (2)可定制(数量/打印方式) 设计思路 1)产生两 ...
- 基类与接口混合继承的声明问题 [C#, Design] -Allen Lee's Magic
Updated on Friday, November 19, 2004 Written by Allen Lee 1. 问题初现 今天,查看<接口继承的声明问题>一文的反馈,发现Ninp ...
- Java中实现接口与继承的区别
** Java中实现接口与继承的区别 ** 首先,先来了解一下什么是接口和继承.接口一般是使用interface来定义的.接口定义同类的定义类似,分为接口的声明和接口体,其中接口体由常量定义和方法定义 ...
- 第10章 接口、继承与多态----抽象类和接口
一.抽象类 在解决实际问题时,一般将父类定义为抽象类,需要使用这个父类进行继承与多态处理.回想继承和多态原理,继承树中越是在上方的类越抽象,如:鸽子类继承鸟类.鸟类继承动物类等.在多态机制中,并不需要 ...
- Java进阶篇(一)——接口、继承与多态
前几篇是Java的入门篇,主要是了解一下Java语言的相关知识,从本篇开始是Java的进阶篇,这部分内容可以帮助大家用Java开发一些小型应用程序,或者一些小游戏等等. 本篇的主题是接口.继承与多态, ...
最新文章
- MySQL 的性能(下篇)—— 性能优化方法
- 推荐一款高端大气上档次的在线作图工具
- STM32使用DMA从串口读可变长度数据到内存
- php单例模式的实例,PHP的单例模式的一个实例_php
- BZOJ 3720: Gty的妹子树 [树上size分块]
- 加密、解密以及Openssl建立私有CA
- c遗传算法的终止条件一般_Matlab2 :Matlab遗传算法(GA)优4~-r-具箱是基于基本操作 联合开发网 - pudn.com...
- python3转码python2_python2写的代码移植到python3后无法转码成中文文本,请大神指教,谢谢~...
- ICCV 2019 | 旷视研究院提出VANet:具备视角感知力的车辆重识别网络
- 小码农也有大梦想!人机猜拳java项目代码
- 《信息存储与管理(第二版):数字信息的存储、管理和保护》—— 2.1 应用...
- Kubernetes 小白学习笔记(21)--kubernetes的运维-管理Lable
- 苹果电脑上几款不错的cad绘图软件
- php微信开发计数,总结一个微信开发的过程实例
- 微电子 半导体 网址 一览表
- 找出大于200的最小质数
- c语言strtok用法详细解释
- 汽车各档爬坡度曲线matlab,基于MATLAB App Designer的汽车爬坡能力建模与仿真
- 刘强东最牛女助理任CHO:颜值不输奶茶妹妹,32岁成京东内部二号人物………...
- xquartz Firefox Error: cannot open display: localhost:14.0