推荐本书<Java大学教程> 看的人比较少,我也是多年不看书了,基于教程一般选国外的方法,从图书馆选了本书. 看了一半,感觉书的内容比较认真,对于基本的Java知识都算介绍全了,而且全书是基于循序渐进的方式写的,不会使读者看着看着就晕了. 就算有一些Java背景的,看看也会有帮助,能够把自学Java中留下的知识漏洞补齐. 全书分成两个部分,就是英文版说的大学生两个学期的教材,因此书中内容其实比较丰富,看完后再看其他层次的Java书,至少不会存在基础不懂的情况. 比如:<Java编程思想&…
8.2    继承(inheritance):继承是指在类之间共享属性和方法.继承关系是一种层次关系.在继承关系中位于顶部的类称为超类(或基类),位于下面的类称为子类(或派生类).类型转换(type casting):是强制一个数据从一种类型转换为另一种类型.方法是通过在待转换的数据前加一对含有新类型名称的括号实现. 8.4    方法重写(method overriding)多态性的实现:方法重载和方法重写.方法重载指同一类中可以存在具有相同名称的不同方法,通过它们的参数列表加以区分.方法重写…
接下来,是第二学期的内容,也是相对深入的Java学习. 自测题:1.    在类的开发过程中,程序包的作用是什么?P321程序包是为了方便定位和部署类,还可以避免将来类之间出现名称冲突. 2.    哪些import语句合法,哪些非法? import java.*; // 书上说错,代码中承认正确.因为java是个包,只是一个没有任何类的包. import java.swing.*; // 错.java下没有swing这个包. import java.awt.JButton; // 错.java…
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步. 6.1 概述 记得在第一节计算机程序课上我的老师就讲过:“计算机只认识0和1,所以我们写的程序需要经编译器翻译成由0和1构成的二进制格式才能由计算机执行”.10多年时间过去了,今天的计算机仍然只能识别0和1,但由于最近10年内虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋般出现并蓬勃发展,将我们编写的程序编译成二进制本地机器码(Native Code)已不再是唯一的选择,越来越多的程序语言选择了与操作…
第六章 类文件结构   6.2 无关性的基石 各种不同平台的虚拟机与所有的平台都统一使用的程序存储格式--字节码(ByteCode)是构成平台无关性的基石.java虚拟机不和包括java在内的任何语言绑定,它只与“Class”文件这种特定的二进制文件格式所关联,Class文件包含了java虚拟机指令集和符号表以及若干其他辅助信息.虚拟机并不关心Class的来源是何种语言.   6.3 Class类文件的结构 Class文件是一组以8字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在C…
一.方法的返回值   当我们在程序中调用方法时,虚拟机将会跳转到对应的方法中去执行.当以下几种情况发生时,虚拟机将会回到调用方法的语句并继续向下执行: 执行完方法中所有的语句: 遇到return语句: 方法抛出一个异常(有关异常的内容将会在后面的文章中讨论).   这里我们重点介绍return语句.return语句用来返回一个值,当虚拟机遇到return语句时将会立刻结束当前方法并带着返回值回到调用此方法的地方.在声明方法时,返回值的类型要和return语句里返回的值的类型一致.如果方法没有需要…
目录 第13条: 使类和成员的可访问性最小化 第14条:在公有类中使用访问方法而非公有域 第15条:使可变性最小化 第16条:复合优先于继承 第17条:要么为继承而设计,并提供文档说明,要么就禁止继承 第18条:接口优先于抽象类 第19条:接口只用于定义类型 第20条:类层次优于标签类 第21条:用函数对象表示策略 第22条:优先考虑静态成员类   第4章 类和接口 第13条: 使类和成员的可访问性最小化 尽可能使每个类或者成员不被外界访问.提供尽可能小的访问级别. final维持字段不可变性,…
由所有聚焦类构成,在java.util包中,包含三个重要接口:*    List列表:元素为单个对象,元素在列表中是有序.可重复*    Set集合:元素为单个对象,元素在集合中无序.不可重复*    Map映射:元素为成对对象(第一个对象是关键字,第二个对象是值),元素在映射中无序,关键字不可重复注:JCF不能存储基本数据类型. 17.2 List接口和ArrayList类*    ArrayList类*    LinkedList类 17.2.1    泛型(generics):允许设定存在…
统一建模语言(UML)用方框代表类.方框被分成3部分,第一部分是类名,第二部分是类的属性,第三部分是类的方法.类的属性(属性名称:属性类型):类的方法(方法名称(参数类型):返回值类型).静态的类的属性和方法名习惯加下划线. 属性的权限:*    public:        属性或方法可以从外部被访问:*    private:    属性或方法不可以被其他类的方法访问,只能在类的内部被访问,从而实现数据封装. 7.3 static关键字声明为static的属性为类的属性.对该属性的任何改变都…
6.2 对象:结构化编程-->数据-->封装(聚合,信息隐藏)-->对象(方法及其操作的数据都聚合在一个单元中,作为更高层的组织单元)-->类(创建对象的模板)6.3 类:*    要存储的数据-->属性*    要完成的任务-->方法6.7 对象数组(没有实例化,只有引用) 自测题:1.如何理解面向对象程序开发的含义?P119答:面向对象开发技术也可以称为快速应用程序开发技术,因为它允许程序设计人员在分析和设计过程中平稳地过渡.此外,由于封装(encapsulatio…