08 2017 档案

摘要:Java中匿名内部类的总结: 匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法 运行结果:eat something 可以看到,我们用Child 阅读全文
posted @ 2017-08-13 10:27 丸wanwan子 阅读(102) 评论(0) 推荐(0)
摘要:整个教程中已经不时的出现一些内存管理和垃圾回收的相关知识。这里进行一个小小的总结。 Java是在JVM所虚拟出的内存环境中运行的。内存分为栈(stack)和堆(heap)两部分。我们将分别考察这两个区域。 栈 栈的基本概念参考纸上谈兵: 栈 (stack)。许多语言利用栈数据结构来记录函数调用的次序 阅读全文
posted @ 2017-08-11 11:09 丸wanwan子 阅读(121) 评论(0) 推荐(0)
摘要:在GUI中,我们看到了如何用图形树来组织一个图形界面。然而,这样的图形界面是静态的。我们无法互动的对该界面进行操作。GUI的图形元素需要增加事件响应(event handling),才能得到一个动态的图形化界面。 元素, 事件, 监听器 我们在GUI一文中提到了许多图形元素。有一些事件(Event) 阅读全文
posted @ 2017-08-11 10:11 丸wanwan子 阅读(282) 评论(0) 推荐(0)
摘要:GUI(Graphical User Interface)提供了图形化的界面,允许用户以图形的方式与系统进行互动。在GUI推广之前,用户通常要以文本命令的方式来控制计算机。GUI直观的将计算机的功能呈现给用户,降低了用户使用计算机的门槛。苹果和微软是GUI方面的先驱(虽然他们都一定程度上抄袭了Xer 阅读全文
posted @ 2017-08-11 10:05 丸wanwan子 阅读(249) 评论(0) 推荐(0)
摘要:到现在为止,我们都是在Java文件中直接定义类。这样的类出现在包(package)的级别上。Java允许类的嵌套定义。 这里将讲解如何在一个类中嵌套定义另一个类。 嵌套 内部类 Java允许我们在类的内部定义一个类。如果这个类是没有static修饰符,那么这样一个嵌套在内部的类称为内部类(inner 阅读全文
posted @ 2017-08-11 09:53 丸wanwan子 阅读(209) 评论(0) 推荐(0)
摘要:Java中有一些对象被称为容器(container)。容器中可以包含多个对象,每个对象称为容器中的一个元素。容器是用对象封装的数据结构(data structure)。 充满梦想的容器 不同的数据结构有不同的组织元素的方式,也可以有不同的操作。根据具体实施的不同,数据结构的操作效率也各有差别。Jav 阅读全文
posted @ 2017-08-11 08:52 丸wanwan子 阅读(176) 评论(0) 推荐(0)
摘要:多线程 多线程(multiple thread)是计算机实现多任务并行处理的一种方式。 在单线程情况下,计算机中存在一个控制权,并按照顺序依次执行指令。单线程好像是一个只有一个队长指挥的小队,整个小队同一个时间只能执行一个任务。 单线程 在多线程情境下,计算机中有多个控制权。多个控制权可以同时进行, 阅读全文
posted @ 2017-08-10 20:36 丸wanwan子 阅读(144) 评论(0) 推荐(0)
摘要:运行时类型识别(RTTI, Run-Time Type Identification)是Java中非常有用的机制,在Java运行时,RTTI维护类的相关信息。 多态(polymorphism)是基于RTTI实现的。RTTI的功能主要是由Class类实现的。 Class类 Class类是"类的类"(c 阅读全文
posted @ 2017-08-10 15:50 丸wanwan子 阅读(119) 评论(0) 推荐(0)
摘要:计算机最重要的功能是处理数据。一个有用的计算机语言需要拥有良好的IO功能,以便让未处理的数据流入程序,让已处理的数据流出。 与其他语言相比,Java的IO功能显得复杂。在其他语言中,许多IO功能(比如读取文件),是被封装好的,可以用一两行程序实现。在Java中,程序员往往需要多个层次的装饰(deco 阅读全文
posted @ 2017-08-10 11:41 丸wanwan子 阅读(123) 评论(0) 推荐(0)
摘要:程序很难做到完美,不免有各种各样的异常。比如程序本身有bug,比如程序打印时打印机没有纸了,比如内存不足。为了解决这些异常,我们需要知道异常发生的原因。对于一些常见的异常,我们还可以提供一定的应对预案。C语言中的异常处理是简单的通过函数返回值来实现的,但返回值代表的含义往往是由惯例决定的。程序员需要 阅读全文
posted @ 2017-08-10 11:28 丸wanwan子 阅读(174) 评论(0) 推荐(0)
摘要:之前的Java基础系列中讨论了Java最核心的概念,特别是面向对象的基础。在Java进阶中,我将对Java基础进行补充,并转向应用层面。 大部分编程语言都能够处理字符串(String)。字符串是有序的字符集合,比如"Hello World!"。在Java中,字符串被存储为String类对象。调用字符 阅读全文
posted @ 2017-08-10 11:00 丸wanwan子 阅读(118) 评论(0) 推荐(0)
摘要:我们之前使用类创造新的类型(type),并使用继承来便利我们创建类的过程。我将在这一讲中深入类型,并介绍多态(polymorphism)的概念。 类型检查 Java的任意变量和引用经过类型声明(type declaration),才能使用。我们之前见过对象数据、类数据、方法参数、方法返回值以及方法内 阅读全文
posted @ 2017-08-09 11:52 丸wanwan子 阅读(188) 评论(0) 推荐(0)
摘要:我们之前一直在使用“对象”这个概念,但没有探讨对象在内存中的具体存储方式。这方面的讨论将引出“对象引用”(object reference)这一重要概念。 对象引用 我们沿用之前定义的Human类,并有一个Test类: 外部可以调用类来创建对象,比如上面在Test类中: 创建了一个Human类的对象 阅读全文
posted @ 2017-08-09 10:40 丸wanwan子 阅读(170) 评论(0) 推荐(0)
摘要:在实施接口中,我们利用interface语法,将interface从类定义中独立出来,构成一个主体。interface为类提供了接口规范。 在继承中,我们为了提高程序的可复用性,引入的继承机制。当时的继承是基于类的。interface接口同样可以继承,以拓展原interface。 接口继承 接口继承 阅读全文
posted @ 2017-08-09 09:54 丸wanwan子 阅读(119) 评论(0) 推荐(0)
摘要:我们一直是为了产生对象而定义类(class)的。对象是具有功能的实体,而类是对象的类型分类。这是面向对象的一个基本概念。 在继承(inheritance)中,我们将类当做可以拓展的主体,这提高了我们对“类”的认识。 类本身还有许多值得讨论的地方。我们将继续深入。 static数据成员 有一些数据用于 阅读全文
posted @ 2017-08-09 09:30 丸wanwan子 阅读(146) 评论(0) 推荐(0)
摘要:Java约定俗成代码格式: 1、包名:最好是域名倒过来,要求所有的字母小写; 2、类名接口名:一个单词首字母大写,多个单词每个单词首字母都大写 3、方法名和变量名:一个单词全部小写,多个单词从第二个单词首字母大写 4、常量:一个单词全部大写,多个单词全部大写并用下划线区分每个单词 建议:如果能用英语 阅读全文
posted @ 2017-08-08 17:29 丸wanwan子 阅读(233) 评论(0) 推荐(0)
摘要:继承(inheritance)是面向对象的重要概念。继承是除组合(composition)之外,提高代码重复可用性(reusibility)的另一种重要方式。我们在组合(composition)中看到,组合是重复调用对象的功能接口。我们将看到,继承可以重复利用已有的类的定义。 类的继承 我们之前定义 阅读全文
posted @ 2017-08-08 16:26 丸wanwan子 阅读(127) 评论(0) 推荐(0)
摘要:我们已经写了一些Java程序。之前的每个Java程序都被保存为一个文件,比如Test.java。随后,该程序被编译为Test.class。我们最终使用$java Test来运行程序。 然而,在一个正常的Java项目中,我们往往需要编写不止一个.java程序,最终的Java产品包括了所有的Java程序 阅读全文
posted @ 2017-08-08 11:24 丸wanwan子 阅读(114) 评论(0) 推荐(0)
摘要:我们已经尝试去定义类。定义类,就是新建了一种类型(type)。有了类,我们接着构造相应类型的对象。更进一步,每个类型还应该有一个清晰的接口(interface),供用户使用。 我们可以在一个新类的定义中使用其他对象。这就是组合(composition)。组合是在Java中实现程序复用(reusibi 阅读全文
posted @ 2017-08-08 11:07 丸wanwan子 阅读(197) 评论(0) 推荐(0)
摘要:一、封装与接口 封装(encapsulation)是计算机常见的术语,即保留有限的外部接口(interface),隐藏具体实施细节。我们将要封装(encapsulation)对象的成员(成员包括数据成员和方法),从而只允许从外部调用部分的成员。利用封装,我们可以提高对象的易用性和安全性。 对象成员的 阅读全文
posted @ 2017-08-08 10:27 丸wanwan子 阅读(382) 评论(0) 推荐(0)
摘要:一、抽象类的概念和定义 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类的格式:修饰符 abstract class 类名 抽象类往往用来表征对问题领域进行分析、设计中得出 阅读全文
posted @ 2017-08-07 19:55 丸wanwan子 阅读(186) 评论(0) 推荐(0)
摘要:一、正则表达式语法 (?=pattern) (?<!pattern) 字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。 [^xyz] 字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。 注意:只有连字符在 阅读全文
posted @ 2017-08-07 11:58 丸wanwan子 阅读(338) 评论(0) 推荐(0)