《Head First Java》读书笔记(2) - Java面向对象思想
1、了解继承

2、多态的运行
- 静态的多态:如方法重载,方法名相同,参数不同
- 动态的多态:如子类覆盖父类方法,将子类实例传于父类的引用,调用的是子类的方法;如实现接口的实例,将其传于接口的引用,调用的是实现类的方法。

3、深入多态

所以,有些类本来就不应该被初始化,只是一个抽象的概念,但是我们又要用到它的继承来实现多态,怎么办?使用abstract对它进行抽象化。
//编译器没有在Object中找到run()方法,所以第二行无法编译通过
//所以我们才有更多的范围更小的父类,而不是直接甩手用Object来处理
Object cat = new Cat();
cat.run(); // 编译无法通过
//编译器没有在Object中找到run()方法,所以第二行无法编译通过
//所以我们才有更多的范围更小的父类,而不是直接甩手用Object来处理
Object cat = new Cat();
cat.run(); // 编译无法通过
4、认识接口
5、对象的生命周期

5.1 栈

5.2 堆

6、构造函数和继承的关系
《Head First Java》读书笔记(2) - Java面向对象思想的更多相关文章
- 【java读书笔记】——java开篇宏观把控 + HelloWorld
学完java有一段时间了,一直没有做对应的总结,总认为有一种缺憾.从这篇博客開始,将自己平时的学习笔记进行总结归纳,分享给大家. 这篇博客主要简单的介绍一下java的基础知识,基本的目的是扫盲.原来仅 ...
- [Java读书笔记] Effective Java(Third Edition) 第 7 章 Lambda和Stream
在Java 8中,添加了函数式接口(functional interface),Lambda表达式和方法引用(method reference),使得创建函数对象(function object)变得 ...
- [Java读书笔记] Effective Java(Third Edition) 第 6 章 枚举和注解
Java支持两种引用类型的特殊用途的系列:一种称为枚举类型(enum type)的类和一种称为注解类型(annotation type)的接口. 第34条:用enum代替int常量 枚举是其合法值由一 ...
- [Java读书笔记] Effective Java(Third Edition) 第2章 创建和销毁对象
第 1 条:用静态工厂方法代替构造器 对于类而言,获取一个实例的方法,传统是提供一个共有的构造器. 类可以提供一个公有静态工厂方法(static factory method), 它只是一个返回类 ...
- [Java读书笔记] Effective Java(Third Edition) 第 4 章 类和接口
第 15 条: 使类和成员的可访问性最小化 软件设计基本原则:信息隐藏和封装. 信息隐藏可以有效解耦,使组件可以独立地开发.测试.优化.使用和修改. 经验法则:尽可能地使每个类或者成员不被外界访问 ...
- 【java读书笔记】——java的异常处理
程序在实际环境的执行过程中.安全成为须要首先考虑的重要因素之中的一个.这也是用户和程序猿最关心的问题.同一时候,Java语言健壮性也体如今了可以及时有效地处理程序中的错误.准确的说是Java的异常处理 ...
- [Java读书笔记] Effective Java(Third Edition) 第 5 章 泛型
第 26 条:请不要使用原生态类型 声明中具有一个或多个类型参数的类或者接口,就是泛型(generic). 例如List接口只有单个类型参数E, 表示列表的元素类型.这个接口全称List<E&g ...
- [Java读书笔记] Effective Java(Third Edition) 第 3 章 对于所有对象都通用的方法
第 10 条:覆盖equals时请遵守通用约定 在不覆盖equals方法下,类的每个实例都只与它自身相等. 类的每个实例本质上都是唯一的. 类不需要提供一个”逻辑相等(logical equality ...
- Java 读书笔记 (十七) Java 重写(Override)与重载(Overload)
重写(Override) 重写是子类对父类的允许访问的方法的实现过程重新编写,返回值和形参都不能改变,即外壳不变,核心重写. // 如果重写不是相当于重新定义了一个方法?那为什么不直接写,还要exte ...
- head first java读书笔记
head first java读书笔记 1. 基本信息 页数:689 阅读起止日期:20170104-20170215 2. 标签 Java入门 3. 价值 8分 4. 主题 使用面向对象的思路介绍J ...
随机推荐
- statement和preparedstatement的区别
在执行SQL命令时,我们有二种选择:可以使用PreparedStatement对象,也可以使用Statement对象.无论多少次地使用同一个SQL命令,PreparedStatement都只对它解析和 ...
- 安卓手机测试常见BUG
安装 覆盖安装 跨版本安装 卸载后重新装 2.网络 2G网络下访问应用 网络不好的情况下,访问应用,是否会有数据返回 网络不好的情况下,切换到有网时,数据是否正常展示 WIFI断开时,再进入应用,之前 ...
- iOS app 逆向过程(持续更新完善)
一.获取待逆向的app 1.用cyder2直接从源里下载,适合逆向越狱开发的软件. 2.从pp助手中下载,pp助手中有越狱应用和正版应用.越狱应用直接是已经脱壳的,未越狱应用还需要执行砸壳 二.获取待 ...
- git 简易使用说明
背景 代码用git管理,所以需要大家熟悉git工具的一些操作 目前我们自动化在develop分支上进行编写 前言 安装git,https://git-scm.com/ 可视化工具推荐,sourcetr ...
- java web面试技巧,数据库面试,java web轻量级开发面试教程
我最近看到一本比较好的讲java web方面面试的书,java web轻量级开发面试教程. 其中不仅用案例和视频讲述了Spring MVC,Hibernate, ORM等方面的技巧,而且还实际讲到了面 ...
- 报表 jasper + ireport5.6
下载 iReport-5.6.0,jdk7,以及众多lib , 这里我提供下资源(我的百度云) 安装好iReport-5.6.0和jdk7, 在安装目录的\etc\ireport.conf,修改其中 ...
- webpack常见的配置总结 ---只是一些常见的配置
早期的构建工具grunt ,gulp 帮助我们配置一些开发环境,省去一些我们调试和重复的工作 现在我们的构建工具一般是webpack ,目前建议大家用3.0以上的版本 现在市场上比较优秀的构建工具,个 ...
- json对象和json字符串之间的转化
json对象和json字符串之间的转化 json字符串----->json对象 使用JSON.parse()函数 var jsonStr = '{"name":"z ...
- Info模式下的隐形杀手(SpringMVC同时使用<mvc:resources.../>和FormattingConversionServiceFactoryBean时出现的问题)
天气一天比一天变的凉快了,而我一天天踩的坑更加贱了,首先在北京向各位问好,也给身边献身教育事业的亲朋好友们补上一句节日快乐! 今天早上手贱把项目误删了,不得不去SVN上去乞求了.我个人习惯项目运行的时 ...
- 操作系统:ucore的部分Bug&挑战练习
ucore是清华大学提供的一个学习操作系统的平台.ucore有完整的mooc视频与说明文档. https://objectkuan.gitbooks.io/ucore-docs/content/# 本 ...