随笔分类 - j2se
java编程思想(3)感悟(9)---控制程序流
摘要:在java中,我们利用操作符操作数据和对象,并用执行控制语句做出选择。几乎所有的操作符都只能操作"基本类型"。唯一的例外是"="、"=="和"!=",他们能操作所有的对象。除此之外,String类支持"+"和"+=".基本类型存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值得时候,是直接将一个地方的内容复制到了另一个地方。对一个对象进行操作时,我们真正操作的是对对象的引用。所以倘若"将一...
阅读全文
Java编程思想3感悟(8)---一切都是对象
摘要:程序运行时,对象是怎么在内存中存储的?1、寄存器:这是最快的存储区,他位于处理器的内部。由编译器根据需求进行分配,不能直接控制。2、堆栈:位于通用随即访问存储器(RAM)中,通过他的堆栈指针可以从处理器那里获得直接支持。堆栈指针向下移动,则分配新的内存,若向上移动,则释放内存。java对象的引用就存放在堆栈中,java对象并不存在其中。3、堆:也位于RAM中,用于存放所有的java对象。编译器不需...
阅读全文
java编程思想3感悟(7)---抽象基类和接口、并发
摘要:抽象类是不可以实例化的,抽象类中的抽象方法也要用abstract声明,这是一个从此类中继承出的所有类型都具有的接口方法,但是此刻我没有为他设计任何具体实现。当该类被继承时,抽象方法必须被实现,否则继承类仍然是一个抽象类。创建抽象方法使得你可以将一个方法置于接口中而不必被迫为此方法提供可能毫无意义的方法体。Interface(接口),它本身不允许有任何方法定义。他提供了接口与实现的完美分离。并发就是...
阅读全文
java编程思想3感悟(6)---是一个与像是一个关系和伴随多态的可互换对象
摘要:一个圆形就是一个几何形状,判断是否继承,就是要确定你是否可以用is-a来描述类之间的关系,并使之具有意义。有时你必须在导出类型中添加新的接口元素,这样也就扩展了接口并创建了新的类型。这种情况我们可以描述为is-like-a(像是一个)的关系。新类型具有旧类型的借口,但是他还包含其他方法,所以你不能说他们完全相同。在处理类型的层次结构时,经常想把一个对象不当做他所属的特定类型来对待,而是将其当作其基...
阅读全文
java编程思想3感悟(5)---复用具体实现和复用接口
摘要:代码复用是面向对象程序设计语言所提供的最了不起的优点之一。创建一个新类,该类的成员对象通常都被声明为private,使得使用该类的客户端程序员不能访问他们。这也使得你可以在不干扰现有客户端代码的情况下,修改这些成员。当源类(被称为基类、超类或父类)发生变动时,被修改的副本(被称为导出类、继承类或者子类)也会反映出这些变动。有2种方法可以使基类与导出类产生差异。第一种方法:直接在导出类中添加新方法。...
阅读全文
java编程思想3感悟(4)---被隐藏的具体实现
摘要:将程序开发人员按照角色分为类创建者和客户端程序员是很有好处的,客户端程序员的目标是收集各种用来实现快速应用开发的类,类创建者的目标是构建类,该类只想客户端程序员暴露必须的部分,而隐藏其他所有部分,被隐藏的部分通常代表对象内部脆弱的部分,因此将实现隐藏起来可以减少程序的bug. 访问控制的第一个存在原因就是让客户端程序员无法触及他们不应该触及的部分---这些部分对数据类型的内部操作来...
阅读全文
java编程思想3感悟(3)---每个对象都提供服务
摘要:当你开发或者理解一个程序设计时,最好的方法之一就是将对象想象为“服务提供者”。你的目标就是去创建能够提供理想的服务来解决问题的对象集合。如果我可以将问题从表象中抽象出来,那么什么样的对象可以马上解决我的问题呢? 将对象看作是服务提供者还有一个好处:它有助于提高对象的内聚性。高内聚时软件设计的基本质量要求之一:这意味着一个软件构建的各个方面组合的很好。因此,每个对象都有一个它所能提供...
阅读全文
java编程思想3感悟(2)---每个对象都有一个接口(方法)
摘要:所有的对象都是唯一的,但同时也是具有相同的特性和行为的对象所归属的类的一部分。既然类被描述成了具有相同特性和行为的对象集合,那么一个类就确实是一个数据类型,就像所有浮点型数字具有相同的特性和行为集合一样。面向对象方法并不是仅局限于构建仿真程序,无论你是否同意任何程序都是你所设计的系统的一个仿真的概念,面向对象技术确实可以将大量的问题降解为一个简单的解决方案。你向某个对象发送消息,这个对象便...
阅读全文
java编程思想3感悟(1)---java的5个特性
摘要:程序设计就是对复杂度的管理。它包括:待解决问题的复杂度和所依赖的底层机器的复杂度。 所有编程语言都提供抽象机制,可以认为,你所能够解决的问题的复杂性直接取决于抽象的类型和质量。所谓的类型是指你所抽象的是什么。 面向对象语言的特点: 1.万物皆为对象。将对象视为奇特的变量,它可以存储数据,除此之外,你还可以要求它在自身上执行操作。理论上,你可以抽取待解决问题的任何...
阅读全文
dom4j学习笔记(二)
摘要:1、读取xml文件使用dom4j读取xml文件有2种方式:public void parseWithSAX(File file) throws MalformedURLException, DocumentException { SAXReader xmlReader = new SAXReader(); this.doc = xmlReader.read(fil...
阅读全文
dom4j学习笔记(一)
摘要:首先下载dom4j.jar,jaxen-1.1.1.jar包 http://sourceforge.net/projects/dom4j(1)使用dom4j创建xml文件package com.wyq.ajaxServlet; import java.io.File;import java.io.FileWriter; import org.dom4j.Document;import org.do...
阅读全文
浙公网安备 33010602011771号