结语到今天,《Monkey Java》系列的知识点都写完了,从头到尾都遵循着“入门”的准则,没有任何深奥的东西,几乎全部篇章都是在例子和注释中讲解知识点。在学习编程的过程中,如果不动手,那绝对就OUT了。
另外,《Monkey Java》中的Java知识绝对是不够用,它的目的在于为学习Android编程铺路。
接下来,我们会一直将《Monkey Android》系列走起,直到我们能写出一个自己的Android App。
本节课程将学习以下内容:
Collection和Iterator接口
Set和HashSet的使用方法
Map和HashMap的使用方法
Collection和Iterator接口关系:
Iterator <– Collection <– Set <– HashSetIterator <– Collection <– List <– ArrayList
Collection接口方法:
boolean add(Object o) 向集合中加入一个对象void clear() 删除集合当中的所有对象boolean isEmpty() 判断集合是...
本节课程将学习以下内容:
类集框架
集合的种类
类集框架的基础结构
类集框架
类集框架是一组类和接口
位于java.util包当中
主要用于存储和管理对象
主要分为三大类:集合、列表和映射
集合:
集合中的对象不按特定的方式排序,并且没有重复对象;
列表:
集合中的对象按照索引位置排序,可以有重复的对象。
映射:
集合中每一个元素包含一个键对象和一个值对象,键不可以重复,值可以重复。
类集框架的基础结构
例子1:1.新建一个名为Demo01.java的源文件:
1234567891011121314151617181920212223242526import ja...
本节课程将学习以下内容:
进程和线程的关系
多线程程序运行模式
定义线程的方法
控制线程的常用函数
多线程的数据安全
同步线程的方法
深入synchronized关键字
进程和线程的关系多进程:
在操作系统中能(同时)运行多个任务(程序)。
多线程:
在同一个应用程序中有多个顺序流(同时)进行。
多线程程序运行模式线程的执行过程:
定义线程的方法方法1:
定义一个线程类,它继承类Thread并重写其中的方法run(),方法run()称为线程体;
方法2:
提供一个实现接口Runnable的类作为线程的目标对象,在初始化一个Thread类或者Thread子类的线程对象...
本节课程将学习以下内容:
什么是内部类
内部类的使用方法
匿名内部类的使用方法
什么是内部类含义:
一个类定义在另一个类内部。
例子1:1.新建一个名为A.java的源文件:
1234567891011121314class A { int i; // B类就是内部类 class B { int j; int funB(){ // 内部类B可以使用外部类A的成员变量和成员方法 int result = i + j; return result; } }}
注意:
在编译A.java源文件后,会生成两...
本节课程将学习以下内容:
数组的类型
数组的定义方法
数组的操作方法
数组的类型数组的定义方法数组的操作方法例子1:1234567891011121314151617181920212223242526272829303132class Demo01 { public static void main(String[] args) { // 数组的静态定义法 // arr是一个整型数组 int[] arr = { 2, 5, 6, 7, 8, 4, 0 }; // 取数组中的一个值:arr[下标],下标从0开始。 System.ou...
本节课程将学习以下内容:
IO操作的目标
IO的分类方法
读取文件和写入文件的方法
大文件的读写方法
字符流的使用方法
处理流的使用实例
“装饰者(Decorator)”模式
节点流与处理流的关系
IO操作的目标
从数据源当中读取数据,以及将数据写入到数据的目的地当中。
特点:
I/O系统的主要目标是为了对数据进行读写操作;
数据的流向以Java程序为参照物;
I/O流可以有三种分类方法;
有read和write两个主要方法。
IO的分类方法第一种:
输入流;输出流。
第二种:
字节流;字符流。
第三种:
节点流;处理流。
特点:
BufferedRe...
本节课程将学习以下内容:
什么是异常
异常的分类
try…catch…finally结构的使用方法
throw的作用
throws的作用
什么是异常含义:
在面向对象的世界中,异常也是对象;
我们自己的话说,Java程序在正常运行中,出现的一些意外,被称为异常。
定义:中断了正常指令流的事件;
异常和语法错误是不同的东西;
语法错误在编译的时候就会报错;而异常是在运行的时候抛出来的。
格式:
12Exception in thread "main" java.lang.ArithmeticException: / by zero at Demo5.main(Demo.jav...
本节课程将学习以下内容:
什么是接口
接口的基本语法
为什么要使用接口
工厂方法模式
什么是接口含义:
Java接口是一系列方法的声明,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
接口的基本语法
使用interface定义;
接口当中的方法都是抽象方法(不用写abstract);
接口当中的方法都是public权限(不用写public);
实现接口使用implements关键字;
一个类可以实现多个接口;
一个接口可以继承多个接口;
注意:
不能生成对象;
用一个类来实现(关键字是imple...
本节课程将学习以下内容:
protected权限
protected权限
protected权限首先拥有和default一样的功能;
但是它只能修饰成员变量和成员函数;
允许跨软件包的继承;
只允许类的子类继承使用它的protected成员属性和函数;
例子:(请动手)1、新建一个Person.java源文件:
1234567891011121314package com.sunjiajia;public class Person{ protected String name; protected int age; void eat(){ Sy...
本节课程将学习以下内容:
Java当中的访问权限
软件包的导入
Java当中的访问权限一共分为4大类:
public:公共权限,既可以修饰类,也可以修饰成员变量和成员函数;
private:私有权限
default:包级别访问权限
protected:受保护权限
public权限
如果一个类不是public(公共)的,那么这个类不能被外部软件包访问;
如果一个类的成员变量或者方法不是public(公共)的,那么它们也不能被外部软件包访问;
没有任何限制,同一个包中,或者不同软件包当中,都可以只有访问。
private权限
一般情况下只能修饰成员变量和成员函数;
如果...
本节课程将学习以下内容:
什么是Java当中的软件包
为什么要使用软件包
如何给一个类打包
什么是Java当中的软件包简单的理解,就是将编译后的.class文件放在不同的文件夹下面。
软件包为Java类提供了命名空间;
打包需要使用package指令;
一个类的全名应该是“包名.类名”。
格式:
1package com.sunjiajia.demo;
示例:(请动手)
1、 新建Demo01.java文件:
1234567package androidmonkey.demo;class Demo01{ public static void main(Strin...
本节课程将学习以下内容:
抽象函数的语法特征
抽象类的语法特征
抽象类的作用
抽象函数的语法特征定义:
只有函数的定义(返回值类型、函数名、参数列表),没有函数体的函数被称为抽象函数。
特点:
如果一个类中有一个或者一个以上的抽象函数,那么这个类也必须被定义为抽象类;
格式:1abstract void function();
抽象类的语法特征定义:
使用abstract定义的类(在class前加上abstract关键字)称之为抽象类。
特点:
抽象类天生就是用来被继承的,俗称基类;抽象类的子类也必须声明为抽象的,或者,必须在子类中复写父类中的抽象函数;
抽象类...
本节课程将学习以下内容:
被客户不断变化的需求所“折磨”;
客户第1次需求:我有一台惠普打印机,开发一个打印机控制程序,要能够实现开机、关机和打印功能;
客户第2次需求:我的办公室加了一台新的佳能打印机,把你的程序修改一下;
客户第3次需求:我的办公室又又加了一台新的清华同方打印机!(自己实现)
1.新建一个名为Printer.java的Java源文件:1234567891011class Printer{ void open(){ System.out.println("Open"); } void close(){ Sy...
本节课程将学习以下内容:
对象的向上转型
对象的向下转型
对象的向上转型概念:
将子类的对象赋值给父类的引用。
注意:
两个类一定要有继承关系;
将子类的对象赋值给父类的引用;
一个引用能够调用哪些成员(变量、方法),取决于这个引用的类型;
一个引用调用的是哪个方法,取决于这个引用所指向的对象。
格式:12345// Student类是Person类的子类Student s = new Student();// 将子类的对象s赋值给父类的引用p;// 理解:每一个学生都是一个人。Person p = s;
例子1:(请动手)1.新建一个名为Person.java的Jav...
本节课程将学习以下内容:
函数的复写(override)
使用super调用父类的成员函数
函数的复写(override)
复写(override),也被称为覆盖或者重写。在你对父类的成员方法不满意的时候,你可以在子类中复写这个方法,来写出符合自己要求的方法。
特点:
1.在具有父子关系的两个类当中;
2.子类和父类中各有一个函数,这个函数的定义(返回值类型,函数名和参数列表)完全相同,那么它们的关系就是复写。
使用super调用父类的成员函数左右:
减少子类复写父类的成员方法时出现的重复代码。
例子:(请动手)1.新建一个名为Person.java的Java源文件:...