第四章

学习时遇到的问题或新知识点:

1. 构造方法。每个类至少有一个构造方法,且构造方法必须的名称必须与类名相同。
2. Varargs。允许方法拥有一个可变长度的参数列表。
3. 对象的内存分配。Book book; 内存留出一些字节用于存储引用变量book。Book book = new Book();创建了一个Book实例,将其存储在堆中,引用变量book像一个指针,可用于访问所引用的对象的成员。
4. Java包。可以将相关的类或具有相似功能的类分组到包中。使用关键字package后面跟着包名。包名对源文件的实际位置有影响的。
5. Java通过访问控制来支持封装。访问控制是由访问控制符来管理的。public、protected、default、private四种访问控制符分别从其他包中的类、同一包中的类、子类、同一个类这四个方面进行了被修饰的类的安全性访问控制。
6. 私有的字段可以作为一个非私有方法的返回值。
7. this关键字用于表示本类中的字段。
8. 使用final关键字可以使变量不可修改。
9. 使用静态成员可以使该成员所属类不被声明就可引用。
10. 方法重载。同名函数可通过不同参数来实现不同功能。
11. 静态工厂。通过私有的构造方法来创造不同的实例。
12. JVM执行一个类时,会按顺序来:加载、连接和初始化。
13. 静态初始化发生在一个类加载的时候,和实例化没有关系,相反实例初始化在创建一个对象的时候进行。

首先进行静态初始化,在任何实例化之前进行。



在构造函数中调用init()方法,在init方法中设置初始化语句。

第七章 继承

学习时遇到的问题或新知识点:

extends关键字扩展父类,子类和父类具有is-a关系,使用final关键字可以阻止这个类被拓展。

——向上强制转型:将子类的一个实例赋值给一个父类对象。 Parent parent = new child( );

——向下强制转型:将一个对象转换为继承下方的一个类,且父类已经指向一个子类的实例。Child child = (Child)parent;

使用super关键字可以显示的调用父类的方法,特别是构造方法。编程实现时遇到以下错误:



查询后说是因为编码原因,不懂~

第十章 接口和抽象类

学习时的问题与新知识点

1. 接口相当于一个不能被实例化的类,为服务提供者及其客户之间提供一个协议。接口也是创建对象的一个模版,定义了一组方法,Java类可以实现这些方法。
2. 接口的所有成员隐式的都是公有的。接口中的字段隐式公有静态final的,必须初始化。
3. 标记接口。
4. 基类。创建一个泛型的实现类,它使用默认的代码覆盖了接口中的抽象方法,实现类便可以拓展这个泛型类,覆盖想修改的抽象方法。
5. 抽象类。类似于接口,有部分实现的方法,通过子类拓展实现。

第十一章 多态

多态使得一个对象在一个方法被调用的时候,能够判断应该选择哪一个方法。——应用与接口或被拓展类应用的灵活性。



如图所示,将Manage实例赋值给Employee,向上强制转型,调用employee的work方法时,调用的是Manage 中的方法。也可以说是运行时的类型是Manager.

多态接口的应用:

Java for Andriod 第二周学习总结的更多相关文章

  1. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  2. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  3. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

  4. 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结

    20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...

  5. 201521123038 《Java程序设计》 第二周学习总结

    201521123038 <Java程序设计> 第二周学习总结 1.本章学习总结 学会在Java程序中使用函数,使程序层次更清晰 使用StringBuilder编写代码,减少内存空间的占用 ...

  6. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  7. 20175204 张湲祯 2018-2019-2《Java程序设计》第二周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第二周学习总结 教材学习内容总结 -第二章基本数据类型与数组要点: -标识符与关键字:标识符的第一个字符不能是数字字符: ...

  8. 20175226 2018-2019-2 《Java程序设计》第二周学习总结

    20175226 2018-2019-2 <Java程序设计>第二周学习总结 教材学习内容总结 基本数据类型与数组 标识符与关键字 标识符不能是关键字.true.false.null.且第 ...

  9. 201771010126 王燕《面向对象程序设计(java)》第二周学习总结

    201771010126 王燕<面向对象程序设计(java)>第二周学习总结 一.理论知识学习部分 3.1j简单 的java应用程序 标识符由字母.下划线.美元符号和数字组成, 且第一个符 ...

随机推荐

  1. Cocoapods安装 2018-11-01更新

    2018-11-1 更新 pod install 报错 [!] Oh no, an error occurred.   Cocoapods 需要更新 主要涉及2点内容 一.ruby 更新(V2.5.3 ...

  2. Appnium-API-Execute Mobile Command

    Execute Mobile Command Java:driver.executeScript("mobile: scroll", ImmutableMap.of("d ...

  3. 5. SpringBoot —— Actuator简介

    Actuator是SpringBoot提供的用来帮助我们在将应用程序推向生产环境时对其进行监视和管理的工具集.使用Actuator最简单的方式,就是在pom文件中添加如下依赖: <depende ...

  4. shell 重定向 2>&1 2>/dev/null 理解笔记

    // 函数 输入输出重定向 1.函数 function hello(){ echo '1111' } ------- hello hello(){ // function 可以省略 echo '222 ...

  5. angular2 图片赋值的时候前面自动加 unsafe:xxx 导致图片信息不显示问题

    需要创建一个pipe 代码如下 import { Pipe, PipeTransform } from '@angular/core'; import {DomSanitizer} from '@an ...

  6. JVM内存结构--新生代及新生代里的两个Survivor区(下一轮S0与S1交换角色,如此循环往复)、常见调优参数

    一.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我 ...

  7. webpack的在开发生产时的具体功能

    webpack的在开发生产时的具体功能 开发时需要调试代码,在打包过后如果出错我们就需要调试工具来帮我们改正错误.Source Map就是帮我们解决这个难题的.他要在我们的webpack.config ...

  8. java的this关键字理解

    1.java提供了一个this关键字,this关键字总是指向调用该方法的对象.根据this出现位置的不同,this作为对象的默认引用有两种情形.a).构造器中引用该构造器正在初始化的对象.(this总 ...

  9. SpringBoot的事件监听

    事件监听的流程分为三步:1.自定义事件,一般是继承ApplicationEvent抽象类.2.定义事件监听器,一般是实现ApplicationListener接口.3.a.启动的时候,需要将监听器加入 ...

  10. 获取clock ticks per second

    #include <sys/syscall.h> #include <stdio.h> #include <unistd.h> int main() { print ...