自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 P82:抽象

**P82(抽象):** P82(抽象):一、什么是抽象?二、抽象函数、抽象类三、实现四、抽象的两种意义一、什么是抽象?在类或函数前有:abstract二、抽象函数、抽象类只要类里有一个函数是抽象的,那这个类就是抽象的抽象的函数不能有括号抽象的类不能产生对象,eg:三、实现eg:想要让红×消失,应该去实现 move 方法:如果不想实现 move 方法也行,那我们应该,将该子类变为抽象,eg:四、抽象的两种意义...

2021-08-13 16:59:37 127

原创 P80-P81:可扩展性、框架加数据、城堡游戏优化码

**P80-P81(可扩展性、框架加数据):**Game:package castlegamea;import java.util.ArrayList;import java.util.HashMap;import java.util.Scanner;public class Game { //定义变量 private Room currentRoom;//当前房间,默认为null private HashMap<String, Handler> han

2021-08-12 17:27:45 192

原创 P78-P79:城堡游戏代码修改:StringBuffer、封装来降低耦合、代码质量、StringBuffer

**P78-P79(城堡游戏代码修改:StringBuffer、封装来降低耦合、代码质量):** P78-P79(城堡游戏代码修改:StringBuffer、封装来降低耦合、代码质量):一、评判一个好的代码?二、封装来降低耦合耦合是什么?封装是什么?三、城堡游戏代码修改修改:StringBuffer什么是 StringBuffer ?什么时候用 StringBuffer ?一、评判一个好的代码?这个代码是否适应于将来的需要是否适合于扩展是否有可扩展性(可扩展性:将来有什么新东西要加进来的时候

2021-08-10 22:00:54 269

原创 P77:城堡游戏1、null的赋值、in.nextLine、split

**P77(城堡游戏1):**前言:城堡游戏是mooc浙江大学面向对象编程第五周的代码,要在翁恺老师的带领下修改这些代码,使代码具有可扩展性。所以在改造代码之前,必须要深入理解代码,才能看懂后面的改造先上城堡的地图:要先根据代码画出地图,才能测试改造后的代码是否正确。理解代码要先从程序的入口main函数开始,一条一条的写上注释:Game类package castlegamea;import java.util.Scanner;//Game类public class Game {

2021-08-10 12:14:13 163

原创 P76的补充:DoME的新媒体类型、代码质量

**P76的补充(DoME的新媒体类型):**可扩展性、可维护性在现在这种 Database 的架构下,我们要增加一个新的媒体类型,会变得非常容易,只需要增加 item 类的一个新的子类就可以了,对于 Database 来说,它里面的 add函数、list函数等是不需要动的,这种特性被我们称为:可扩展性可扩展性:你的代码不需要经过修改,就可以扩展去适应新的数据、新的内容可维护性:你的代码需要经过修改,可以去适应新的数据、新的内容更深的继承...

2021-08-08 17:52:50 91

原创 P76:Object 类

**P76( Object 类):** P76( Object 类):一、Object 类与单根结构二、Objcet类函数我们学习 ==toString()和 equals()函数==toString()函数equals()函数@Override是什么?"equals"和"=="的区别(面试题)一、Object 类与单根结构Java 实现了一个单根结构,Java中所有的类,不管你愿意不愿意,不管你声明不声明,这些类一定都是一个叫做 Object 类 的子类 ,这个 Object 是 Java 的

2021-08-08 17:27:01 95

原创 P75:多态

**P75(多态):**一、什么是多态变量它有两个类型,一个是它的声明类型,一个是它的动态类型,它的声明类型永远是 Item,而它的动态类型是这次拿到是什么就是什么,可能是 CD 可能是 DVD当通过点运算符说 item 所管理的对象去做 print()的动作的时候,它会让它所实际管理对象的那个类型去做 print()的动作,这样子的一件事情叫做多态二、多态的技术基础是什么?绑定对于 Java 来说,所有的绑定都是动态绑定最后一点也是动态绑定,所有的成员函数的调用都应该是看作一种

2021-08-07 22:28:36 99

原创 P74:向上造型

**P74(向上造型):** P74(向上造型):一、什么是造型?造型就是把一个类型的对象赋给另外一个类型的变量,这个过程叫做造型二、类型转换和造型的区别三、什么是向上造型?四、一个小点一、什么是造型?造型就是把一个类型的对象赋给另外一个类型的变量,这个过程叫做造型子类的变量不能去接收父类的对象最后一点,eg:二、类型转换和造型的区别将 10.2 类型转换过后,10.2 就变成了 10,不再是 10.2 了;而造型是将它当作另外一个类型来看待,但并不会改造成为另外一个类型三

2021-08-07 19:44:41 114

原创 P73:多态变量

**P73(多态变量):** P73(多态变量):一、为什么子类对象能放进父类容器中?解释:二、多态变量一、为什么子类对象能放进父类容器中?解释:二、多态变量Java中保存对象类型的变量是多态变量。“多态”这个术语(字面意思是许多形态)是指一个变量可以保存不同类型(即其声明的类型或任何子类型)的对象。...

2021-08-07 18:14:32 118

原创 P72:子类和父类的关系

**P72(子类和父类的关系):**父类的东西都继承给了子类,子类都得到了;子类当中如果有父类当中有过的,完全一样名字的成员变量,那么在子类中,父类的那个会被隐藏起来;当在子类中提到该变量时,所说的是子类自己的,而在父类中对该变量操作时,所说的是父类的...

2021-08-06 21:13:03 158

原创 P71:子类继承了什么

**P71(子类继承了什么):**父类中是 private 的成员变量在子类中不可用解决这个问题两个方案:将 private 改为 protected ,protected 代表同一个包内的其他类可以访问、子类可以访问

2021-08-06 11:39:00 84

原创 P70:继承

**P70(继承):**CD、DVD例子中的代码不良,因为冗余过多、重载过多、重复性的代码过多,CD.Java和DVD.Java太相似,我们是否可以从这两个类里面提取出来东西,去做一个公共的东西,使这个公共的东西可以表达CD或者DVD,然后让Database去管那些公共的东西,而不是管好几个类extend:扩展,eg:public class CD extends Item 代表CD扩展了Item,之后CD成为了Item的一个子类,这就叫做继承...

2021-08-05 09:57:23 83

原创 P69:媒体资料库的设计(CD、DVD例子)

**P69(媒体资料库的设计(CD、DVD例子)):** P69(媒体资料库的设计(CD、DVD例子)):一、如何将一堆成员变量快速初始化起来?二、同一个类里放两个容器一、如何将一堆成员变量快速初始化起来?点击蓝色区域之后:点击生成后:这里的 super()先暂时不说,此处可有可无。二、同一个类里放两个容器该CD、DVD例子的结构:代码段:package dome;import java.util.ArrayList;public class Database

2021-08-04 18:19:54 518

原创 P68:Hash表

**P68(Hash表):**一、Hash表什么是 Hash表?Hash表是一种数据结构,在这种数据结构里面所有的东西是以一对值放进去的,一个叫做key(键),一个叫做value(值),放在 Hash表里的所有东西都是由一个 k 和一个值放进去的,当我们放进去的时候代表的就是这个值对应的就是这个键,当我们取出来的时候,拿出来了那个键所代表的那个值定义 Hash表的语法HashMap < K ,V> Hash表名 = new HashMap < K ,V >();

2021-08-04 10:25:18 266

原创 P67:集合容器

**P67(集合容器):**我们不是只有 ArrayList 这一种容器,我们还有一些别的容器,比如说 Set… P67(集合容器):我们不是只有 ArrayList 这一种容器,我们还有一些别的容器,比如说 Set...一、ArrayList 和 Set 的不同二、Set的特点三、直接输出容器为什么容器可以直接输出呢?原因:public String toString(){ ... }由此可见,ArrayList 和 HashSet 也都一定实现了那个 toString()函数,因此我们才能够输出

2021-08-03 22:06:41 107

原创 P66:对象数组的for-each循环、如何设计能传递任意数量参数的函数?

**P66(对象数组的for-each循环、如何设计能传递任意数量参数的函数?):**一、 对象数组的for-each循环有点不一样普通数组的for-each循环中:for(int k:a){ ....}若对 k 进行一些操作,并不影响数组的值,因为k只是相当于一个复制者,并不是数组本身。但是for-each循环对于对象数组来说是有些不一样的。因为,在循环的每一轮,k 可以拿到数组元素所管理的那个对象,然后可以对那个对象做操作二、容器类也能使用for-each循环

2021-08-03 19:58:38 198

原创 P65:对象数组

**P65(对象数组):**数组与数组对象有很多初学者可能会觉得这两个是一样的,以前我也是这么认为的。但是它们是不一样的,虽然他们都是数组。数组只是一个值得集合,而数组对象是一个对象的集合;数组对象的范围更大。对象数组中的每个元素都是对象的管理者而非对象本身当数组的元素的类型是类的时候,数组的每一个元素其实只是对象的管理者而不是对象本身。因此,仅仅创建数组并没有创建其中的每一个对象!对象数组格式 类[] 对象数组名称 = new 类[数组长度];eg:String[] a

2021-08-03 17:10:23 90

原创 P62-P64:记事本的例子、容器

**P62-P64(记事本的例子、容器):**记事本 P62-P64(记事本的例子、容器):一、容器类容器类可以存放任意数量的对象二、定义好容器怎么用呢?ArrayList函数一:将元素放入容器ArrayList函数二:将元素插入容器的某个具体位置(其他会自动退后)ArrayList函数三:知道容器里面放了多少东西ArrayList函数四:获取容器中的某个元素ArrayList函数五:删除容器中某个具体位置上的元素ArrayList函数六:将容器中的所有元素赋给数组ArrayList还有许多其他函数

2021-08-02 19:41:07 161

原创 P61:类函数

**P61(类函数):**类是描述,对象是实体。在类里所描述的成员变量,是位于这个类的每一个对象中的。而如果某个成员有static关键字做修饰,它就不再属于每一个对象,而是属于整个类的了。通过每个对象都可以访问到这些类变量和类函数,但是也可以通过类的名字来访问它们。类函数由于不属于任何对象,因此也没有办法建立与调用它们的对象的关系,就不能访问任何非static的成员变量和成员函数了。 - static 的函数和变量不属于任何对象,它们属于类 - static 的函数只能去调用 static

2021-08-02 17:14:24 141

原创 P60:类变量 static

**P60(类变量):** P60(类变量):一、类变量static的成员变量叫做类变量通过例子深入理解:一、类变量static的成员变量叫做类变量类变量:它不是成员变量,它是这个类的变量,它不属于任何一个对象,它属于这个类!任何一个对象都拥有这个变量(类变量),但是,只有那一份,这个变量(类变量)不在每个对象里头若想访问类变量,有两种方式,通过类或者通过对象,eg:Display.stepd1.step通过例子深入理解:...

2021-08-02 11:07:04 66

原创 P59:包(package)

**P59(包(package)):**一、包(package)包的名字里面可以带有点如果有了一个包,那么这个包里面的所有的源代码文件的第一行一定都是那个包的名字,eg:二、importimport 后面的写法:包的名字.包里面的class的名字只要所用到的类,不在一个包里,那么就要 import 它,eg: import display.Display; 代表 display 包里的 Display 类若用到了不是一个包里的类,还不import,那么应该这么

2021-08-01 18:28:29 141

原创 P58:开放的访问属性

**P58(开放的访问属性):** P58(开放的访问属性):一、publiceg:类前有 public编译单元二、friendly如果我们没有在一个成员前面加上 public 或者 private 的关键字来限定它,那么我们把它叫做:==friendly==friendly 意思是是说,和它位于==同一个包的其他类可以访问==一、publiceg:类前有 public若 class 的前面有 public 表明任何人都可以用这个类的定义去定义变量若 class 的前面有 publi

2021-08-01 16:45:13 109

原创 P57:封闭的访问属性

**P57(封闭的访问属性):**一、封装封装:把数据和对数据的操作放在一起。(所谓封装就是把数据和对这些数据的操作放在一个地方,通过这些操作把这些数据保护起来,别人不能直接接触到这些数据)二、privateprivate int limit=0;private int value=0;上面例子中 private 用来表明说这两个成员变量是私有的private关键字只能用于成员变量和成员函数private指,private后的东西在这个类中是私有的(私有的意思是说只有在这个类

2021-08-01 10:25:49 78

原创 P56:对象的交互

**P56(对象的交互):**printf:表示带格式的输出,eg:System.out.printf("%02d:%02d\n",hour.getvalue(),minute.getvalue());%02d:输出一个占据两个字符位置的整数我们理想的模型,是对象和对象之间的耦合要尽可能的松,平行的对象要尽量减少直接联系,让更高层次的对象来提供通信服务。这些就是在我们这个非常简单的数字钟的例子中所体现的。 P51、P56都需要看视频来建立思维(点击)...

2021-07-31 21:59:34 68

原创 P51:对象的识别

**P51(对象的识别):**面向对象程序设计的第一步,就是在问题领域中识别出有效的对象,然后从识别出的对象中抽象出类来。往往存在多种对象划分的方式,而不同的划分会带来类的设计以至于程序结构的各种不同。举了一个数字钟的例子,希望通过这个例子表明对象划分的重要性,给你一个感性认识。这一章节需要看视频(点击)...

2021-07-31 20:41:09 219

原创 P55:对象初始化

**P55(对象初始化):** P55(对象初始化):一、关于类中成员变量的初始化问题二、构造函数(函数名和类的名字完全相同)三、函数重载(同名不同参的构造函数)一、关于类中成员变量的初始化问题我们知道对一个程序的安全性来说,初始化很重要,比如对于本地变量来说,Java或者ecplise会有一个强制性,如果变量未被初始化过,那么这个变量禁止被使用,编译时通不过的,但是对于类里面的成员变量,Java会保证先去给它们一个初始值:0二、构造函数(函数名和类的名字完全相同)构造函数:在构造的时候

2021-07-30 19:48:18 89

原创 P54:成员变量与成员函数

**P54(成员变量与成员函数):** P54(成员变量与成员函数):一、成员变量二、this三、成员函数四、本地变量和成员变量的关系一、成员变量二、this在任何一个成员函数里面,总是可以用this来表达这一次调用函数的那个对象。三、成员函数四、本地变量和成员变量的关系本地变量定义在函数内部;成员变量定义在函数外部Java中不关心什么时候消失,它有自动垃圾回收机制,若某个对象一直不被关心则会自动消失,我们只需要知道将它new出来就有了...

2021-07-30 19:01:05 110

原创 P53:定义类

**P53(定义类):**这个课时我们来学习如何自己定义类。一个类由两种东西组成:表示对象有什么的成员变量和表示对象能做什么的成员函数。一旦定义了类,我们就可以创建这个类的多个对象,这些对象都会做那个类所定义的动作(函数),但是各自具有不同的数据。就定义类的语法而言没什么的。...

2021-07-30 18:21:16 88

原创 P52:用类制造对象

**P52(用类制造对象):**一、用类制造对象类与对象的关系: 类去定义了对象,而每一个具体的对象都是那个类的一个实体举例:设计了Circle的类出来,然后用它制造了两个Circle的对象二、对象封装:把数据和对数据的操作放在一起,然后由这些操作去保护内部的数据,数据是不对外公开的三、面向对象的特性...

2021-07-30 09:35:30 111

原创 P50:函数内的变量——本地变量

**P50(函数内的变量——本地变量):** P50(函数内的变量——本地变量):一、本地变量举例:二、变量的生存期和作用域对于本地变量来说,生存期和作用域是统一的举例:三、本地变量的生存期和作用域一、本地变量举例:二、变量的生存期和作用域对于本地变量来说,生存期和作用域是统一的这里的 块 指的是开始大括号到结束大括号举例:这里的错误提醒是:i 不存在,因为 i 只在for的括号里面有效三、本地变量的生存期和作用域在一个大的范围内里面定义过一个变量以后,不能在一个更

2021-07-29 17:59:40 214

原创 P49:函数的参数

**P49(函数的参数):** P49(函数的参数):一、调用函数时候的写法:举例:二、若调用函数时候给的类型不匹配?举例:三、传值一、调用函数时候的写法:举例:二、若调用函数时候给的类型不匹配?举例:三、传值...

2021-07-29 16:45:45 111

原创 P48:函数调用

**P48(函数调用):**一、函数必须有括号、函数的返回二、step over和step intostep into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数)step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步step return:return 就是返回的意思,当不想在某个函数中一步一步的调试时,step return就会返回到调用这个函数处的语句三、函数的返回、函数值的

2021-07-29 16:03:31 65

原创 P47:函数的定义

**P47(函数的定义):** P47(函数的定义):一、函数定义==void什么都不是,你只要记住void就是空,在方法申明的时候表示该方法没有返回值==二、定义函数的位置:三、举例==举例一:== 素数==举例二:== 求和一、函数定义void什么都不是,你只要记住void就是空,在方法申明的时候表示该方法没有返回值二、定义函数的位置:三、举例举例一: 素数package hello;import java.util.Scanner;public class Hello

2021-07-28 18:14:39 87

原创 P46:字符串操作

**P46(字符串操作):** P46(字符串操作):“.”运算符一、字符串不可以用for-each循环,只有数组或者是可枚举的那些东西才可以for-each二、常见的字符串操作:三、字符串是不可变的!四、在switch-case中使用字符串“.”运算符一、字符串不可以用for-each循环,只有数组或者是可枚举的那些东西才可以for-each二、常见的字符串操作:字符串大小的比较:s1.compareTo(s2)如果s1比s2小,结果是负的如果s1和s2相等,结果是0如果s1比

2021-07-27 20:39:04 76

原创 P45:字符串变量、equals

**P45(字符串变量):** P45(字符串变量):一、什么是字符串?二、表达字符串的类型三、字符串变量的定义三、初始化字符串变量四、字符串的连接五、字符串的输出语法六、字符串的输入语法七、字符串的比较一、什么是字符串?二、表达字符串的类型类似字符有char这个类型,字符串用的类型叫做StringString的第一个字母是大写,这表明它不是基础类型,是系统内部当中的一个类字符串变量是字符串的管理者,不是所有者三、字符串变量的定义由于字符串变量是字符串的管理者,不是所有者,因此我

2021-07-27 18:45:59 207

原创 P44:Math类型、函数

**P44(Math类型、函数):**一些Math函数!abs:算绝对值pow:算幂次random:给一个 0 到 1 的随机数(若乘以100:0-100之间的随机数字)round:做四舍五入

2021-07-26 18:06:07 115

原创 P43:包裹类型

**P43(包裹类型):** P43(包裹类型):一、每一种基础类型都有一个包裹类型。二、各个基本数据类型对应的包裹类型:三、基础类型可以完成的事情,包裹类型都可以完成,比如:四、那包裹类型有什么用呢?1. ==包裹类型可以提供的一些常用数据或操作==,eg:2. ==一些很方便的不同类型相互转换的方法==一、每一种基础类型都有一个包裹类型。二、各个基本数据类型对应的包裹类型:char ———— Characterint

2021-07-26 17:49:15 85

原创 P42:逃逸字符

**P41(逃逸字符):**eg:\t

2021-07-26 17:22:09 67

原创 P41:字符类型

**P40(字符类型):**

2021-07-26 12:11:17 64

原创 P40:数组的补充——二维数组

**P40(数组的补充——二维数组):**这里写目录标题P40(数组的补充——二维数组):一、二维数组的定义二、二维数组的遍历必须两层循环!(外层:行;内层:列)三、二维数组的初始化第一种第二种四、三子棋游戏一、二维数组的定义int[][] a = new int[行][列]eg:int[][] a = new int[3][5],表示一个三行五列的矩阵二、二维数组的遍历必须两层循环!(外层:行;内层:列)eg:for(i=0; i<3; i++){ for(j

2021-07-25 21:13:29 241 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除