GitOPEN's Home.

GitOPEN's Home.

Cease to struggle and you cease to live.

《Monkey Java》课程8.0之线程
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 进程和线程的关系 多线程程序运行模式 定义线程的方法 控制线程的常用函数 多线程的数据安全 同步线程的方法 深入synchronized关键字 进程和线程的关系多进程: 在操作系统中能(同时)运行多个任务(程序)。 多线程: 在同一个应用程序中有多个顺序流(同时)进行。 多线程程序运行模式线程的执行过程: 定义线程的方法方法1: 定义一个线程类,它继承类Thread并重写其中的方法run(),方法run()称为线程体; 方法2: 提供一个实现接口Runnable...
《Monkey Java》课程9.0之数组
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 数组的类型 数组的定义方法 数组的操作方法 数组的类型数组的定义方法数组的操作方法例子1:1234567891011121314151617181920212223242526272829303132class Demo01 { public static void main(String[] args) { // 数组的静态定义法 // arr是一个整型数组 int[] arr = { 2, 5, 6, 7, 8, 4, 0 };...
《Monkey Java》课程7.2之内部类和匿名内部类
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 什么是内部类 内部类的使用方法 匿名内部类的使用方法 什么是内部类含义: 一个类定义在另一个类内部。 例子1:1.新建一个名为A.java的源文件: 1234567891011121314class A { int i; // B类就是内部类 class B { int j; int funB(){ // 内部类B可以使用外部类A的成员变量和成员方法 int result = i + j; return result; ...
《Monkey Java》课程7.1之IO
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: IO操作的目标 IO的分类方法 读取文件和写入文件的方法 大文件的读写方法 字符流的使用方法 处理流的使用实例 “装饰者(Decorator)”模式 节点流与处理流的关系 IO操作的目标 从数据源当中读取数据,以及将数据写入到数据的目的地当中。 特点: I/O系统的主要目标是为了对数据进行读写操作; 数据的流向以Java程序为参照物; I/O流可以有三种分类方法; 有read和write两个主要方法。 IO的分类方法第一种: 输入流;输出流。 第二种: 字节...
《Monkey Java》课程7.0之Java当中的异常
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 什么是异常 异常的分类 try…catch…finally结构的使用方法 throw的作用 throws的作用 什么是异常含义: 在面向对象的世界中,异常也是对象; 我们自己的话说,Java程序在正常运行中,出现的一些意外,被称为异常。 定义:中断了正常指令流的事件; 异常和语法错误是不同的东西; 语法错误在编译的时候就会报错;而异常是在运行的时候抛出来的。 格式: 12Exception in thread "main" java.lang.ArithmeticExc...
《Monkey Java》课程6.4之接口的基本语法与应用(重要)
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 什么是接口 接口的基本语法 为什么要使用接口 工厂方法模式 什么是接口含义: Java接口是一系列方法的声明,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 接口的基本语法 使用interface定义; 接口当中的方法都是抽象方法(不用写abstract); 接口当中的方法都是public权限(不用写public); 实现接口使用implements关键字; 一个类可以实现多个接口; 一个接口可以继...
《Monkey Java》课程6.3之protected权限
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: protected权限 protected权限 protected权限首先拥有和default一样的功能; 但是它只能修饰成员变量和成员函数; 允许跨软件包的继承; 只允许类的子类继承使用它的protected成员属性和函数; 例子:(请动手)1、新建一个Person.java源文件: 1234567891011121314package com.sunjiajia;public class Person{ protected String name; pr...
《Monkey Java》课程6.2之访问权限
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: Java当中的访问权限 软件包的导入 Java当中的访问权限一共分为4大类: public:公共权限,既可以修饰类,也可以修饰成员变量和成员函数; private:私有权限 default:包级别访问权限 protected:受保护权限 public权限 如果一个类不是public(公共)的,那么这个类不能被外部软件包访问; 如果一个类的成员变量或者方法不是public(公共)的,那么它们也不能被外部软件包访问; 没有任何限制,同一个包中,或者不同软件包当中,都可以只...
《Monkey Java》课程6.1之包(package)
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 什么是Java当中的软件包 为什么要使用软件包 如何给一个类打包 什么是Java当中的软件包简单的理解,就是将编译后的.class文件放在不同的文件夹下面。 软件包为Java类提供了命名空间; 打包需要使用package指令; 一个类的全名应该是“包名.类名”。 格式: 1package com.sunjiajia.demo; 示例:(请动手) 1、 新建Demo01.java文件: 1234567package androidmonkey.demo;class Dem...
《Monkey Java》课程6.0之抽象类和抽象函数
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 抽象函数的语法特征 抽象类的语法特征 抽象类的作用 抽象函数的语法特征定义: 只有函数的定义(返回值类型、函数名、参数列表),没有函数体的函数被称为抽象函数。 特点: 如果一个类中有一个或者一个以上的抽象函数,那么这个类也必须被定义为抽象类; 格式:1abstract void function(); 抽象类的语法特征定义: 使用abstract定义的类(在class前加上abstract关键字)称之为抽象类。 特点: 抽象类天生就是用来被继承的,俗称基类;...
《Monkey Java》课程5.6之面向对象应用
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 被客户不断变化的需求所“折磨”; 客户第1次需求:我有一台惠普打印机,开发一个打印机控制程序,要能够实现开机、关机和打印功能; 客户第2次需求:我的办公室加了一台新的佳能打印机,把你的程序修改一下; 客户第3次需求:我的办公室又又加了一台新的清华同方打印机!(自己实现) 1.新建一个名为Printer.java的Java源文件:1234567891011class Printer{ void open(){ System.out.println("O...
《Monkey Java》课程5.5之对象的转型
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 对象的向上转型 对象的向下转型 对象的向上转型概念: 将子类的对象赋值给父类的引用。 注意: 两个类一定要有继承关系; 将子类的对象赋值给父类的引用; 一个引用能够调用哪些成员(变量、方法),取决于这个引用的类型; 一个引用调用的是哪个方法,取决于这个引用所指向的对象。 格式:12345// Student类是Person类的子类Student s = new Student();// 将子类的对象s赋值给父类的引用p;// 理解:每一个学生都是一个人。Person...
《Monkey Java》课程5.4之函数的复写(override)
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 函数的复写(override) 使用super调用父类的成员函数 函数的复写(override) 复写(override),也被称为覆盖或者重写。在你对父类的成员方法不满意的时候,你可以在子类中复写这个方法,来写出符合自己要求的方法。 特点: 1.在具有父子关系的两个类当中; 2.子类和父类中各有一个函数,这个函数的定义(返回值类型,函数名和参数列表)完全相同,那么它们的关系就是复写。 使用super调用父类的成员函数左右: 减少子类复写父类的成员方法时出现的重复代...
《Monkey Java》课程5.3之子类实例化
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 生成子类的过程 使用super调用父类构造函数的方法 生成子类的过程使用super调用父类构造函数的方法注意: 在子类的构造函数中,必须调用父类的构造函数; super所调用的是父类的哪个构造函数,是由super(参数)中的参数个数决定; super(参数);必须是构造函数的第一行。 例子:(请动手) 1.新建一个名为Person.java的Java源文件: 123456789101112131415161718class Person{ String na...
《Monkey Java》课程5.2之继承(extends)基础
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 什么是继承 为什么要使用继承 继承的基本语法特点 继承的概念和格式 现实世界中,打个比方,继承就是富二代,就是儿子得到并使用老子的东西; 面向对象的世界中,继承就是一个类得到了另外一个类当中的成员变量和成员方法。 格式:12345678910class A{ 语句;}class B extends A{ 语句;}class C extends A{ 语句1; 语句2;} 注意:Java中只允许单继承,不...
《Monkey Java》课程5.1之static关键字的作用
转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 静态成员变量的语法特点 静态函数的语法特点 静态代码块的语法特点 静态成员变量的语法特点 在定义成员变量的时候,在前面添加一个static关键字。 格式:static int i; 特点: 静态成员变量可以直接用类名来调用,格式为:类名.成员变量名; 所有的对象使用的静态变量是同一份,任何一个对象的静态变量被修改,那么其他对象的静态变量也会被修改。 静态、普通成员变量的区别: 看图:(理解) 例子:(请动手加深理解) 1.新建一个名为Person.java的Jav...