20169219《移动平台开发》第二周作业
教材内容总结
第四章 对象和类
Java对象有两个特征:属性和能够执行的动作。属性叫作字段(field),而动作叫作方法(method)。
类是创建相同类型的对象的一个蓝图或模板。类是一个OOP工具,它允许程序员创建一个问题的抽象。
类生命必须使用关键字class,后面跟着一个类名,类的主题放在花括号中。
字段是变量,它们可以是基本类型或者是对象的引用。
方法定义了一个类的对象(或实例)所能够执行的一个动作。方法有一个声明部分和一个主体。
当一个程序运行的时候,会为数据分配一些内存。基本数据类型在栈中分配,而Java对象则驻留在堆中。
可以给一个方法传递基本类型变量或引用变量。基本类型变量是通过传值来传递的,而引用变量是通过传引用来传递的。
封装
封装是一种可以使类中的字段私有并能通过公有方法来访问私有字段的技术。如果一个字段被声明为私有,它就不能在类的外部被访问,从而隐藏了类内部的字段。基于这个原因,封装有时也被称为数据隐藏。
封装可以被认为是一种能够保护代码和数据被定义在类外的其它代码任意访问的屏障。访问数据和代码由一个接口严格控制。 封装的主要好处是修改我们实现的代码而又不会破坏其他人使用我们的代码。封装的这个特性使我们的代码具有可维护性、灵活性以及扩展性。
封装的优点
- 良好的封装能够减少耦合。
- 类内部的结构可以自由修改。
- 可以对成员变量进行更精确的控制。
- 隐藏信息,实现细节。
类成员访问级别
1、private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
2、default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。
3、protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
4、public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
访问级别 | 从其他包中的类访问 | 从同一个包中的类 | 从子类 | 从同一个类 |
---|---|---|---|---|
public | 可以 | 可以 | 可以 | 可以 |
protected | 不可以 | 可以 | 可以 | 可以 |
defult | 不可以 | 可以 | 不可以 | 可以 |
private | 不可以 | 不可以 | 不可以 | 可以 |
第7章 继承
通过创建一个新的类来扩展一个类。前者和后者就具有了一种父类-子类关系。最初的类是父类,新的类叫作子类,或叫作父类的派生类。在OOP中,扩展一个类的过程叫作继承。在一个子类中,可以添加新的方法和新的字段,并且覆盖已有的方法以改变其行为。
子类也是可以扩展的,除非将其声明为final。
继承使我们有机会添加一些在最初的类中不存在的功能,还使我们有机会改变已有的类的行为,以使其更好的满足需要。
第10章 接口和抽象类
接口是一种协议,是服务提供者(服务器)及服务的使用者(客户端)之间的一个协议。
接口是抽象方法的集合。如果一个类实现了一个接口,那么就需要继承这个接口中的所有抽象方法。
接口不是类。写一个接口和写一个类很相似,但是它们是两个不同的概念。类是描述一个对象的成员属性和行为。接口只包含一个类所实现的行为。
除非实现了接口的类是抽象的,否则接口中的所有方法都需要在类中实现。
在以下方面,接口和类非常相似:
- 一个接口可以包含任意数量的方法。
- 一个接口以 .java 的扩展名写入文件中,并且接口的名字与文件名相同。
- 接口的字节码位于一个 .class 文件中。
- 接口位于包中,并且相应的字节码文件必须在和该包名匹配的文件夹结构下。
然而,在以下方面,接口和类是不同的:
- 不能实例化一个接口。
- 接口不能包含构造方法。
- 接口中的所有方法都是抽象的。
- 接口不能包含实例变量。接口中唯一能出现的变量必须被同时声明为 static 和 final 。
- 接口不能被类继承;它应该被类实现。
- 一个接口可以继承多个接口。
interface
关键字用来声明一个接口。
第11章 多态
多态性是指对象能够有多种形态。在 OOP 中最常用的多态性发生在当父类引用指向孩子类对象时。
任何能够通过一个以上的 IS-A 测试的 Java 对象被认为是多态的。在 Java 中所有对象都是多态的,因为任何一个对象都会有一个他们自己类型的和 Object 类的 IS-A 关系。
重要的是知道,通过引用变量是唯一可以用来访问一个对象的方法。引用变量可以只有一个类型。引用变量一旦被声明是不能被改变的。
引用变量能够重新分配到其他提供的没有被声明为 final 的对象。引用变量的类型将决定它可以调用的对象的方法。
一个引用变量能够引用任何一个对象的声明类型或任何声明类型的子类型。一个引用变量可以声明为一个类或接口类型。
代码托管
出现的问题
我把出现的问题写成了博客:
Kali Rolling版本下的open-vm-tools安装
Ubuntun下tree命令的安装
学习进度条
代码行数(新增/累计量) | 博客量(新增/累计) | 学习时间(新增/累计) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第1周 | 200/200 | 2/2 | 15/15 | |
第2周 | 100/300 | 4/6 | 15/30 |