自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(237)
  • 资源 (5)
  • 收藏
  • 关注

原创 Java核心技术第12章(4)

明天见

2015-10-26 12:48:34 656

原创 Java核心技术第12章(4)

明天见

2015-10-22 17:51:51 569

原创 Java核心技术第12章(4)

12.8    通配符类型    通配符类型Pair表示任何泛型Pair类型,它的类型参数是Employee的子类,如Pair,但不是Pair.    假设要编写一个打印雇员对的方法,像这样:public static void printBuddies(Pair p){ Employee first = p.getFirst(); Employee second =

2015-10-21 16:23:15 871

原创 Java核心技术第12章(3)

12.5    泛型代码和虚拟机    虚拟机没有泛型类型对象--所有对象都属于普通类.无论何时定义一个泛型类型,都自动提供了一个相应的原始类型(raw type).原始类型的名字就是删除类型参数后的泛型类型名.擦除(erased)类型变量,并替换为限定类型(无限定的变量用Object).    例如,Pair的原始类型如下所示:public class Pair{    pr

2015-10-21 15:12:13 654

原创 Java核心技术第12章(2)

12.3    泛型方法    前面介绍了如何定义一个泛型类,实际上,还可以定义一个带有类型参数的简单方法.class ArrayAlg{ public static T getMiddle(T...a) { return a[a.length / 2]; }}    这个方法是在普通类中定义的,而不是在泛型类中定义的.然而,这是一个泛型方法,

2015-10-21 13:10:33 804

原创 Java核心技术第12章(1)

第12章  泛型程序设计    使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性.泛型对于集合类尤其有用.    至少在表面上看来,泛型很像C++中的模板.与Java一样,在C++中,模板也是最先被添加到语言中支持强类型集合的.12.1    为什么要使用泛型程序设计    泛型程序设计(Generic progra

2015-10-20 16:06:20 790

原创 Java核心技术第11章(2)

11.2    捕获异常    要想捕获一个异常,必须设置 try/catch 语句块.最简单的 try 语句块如下所示:try{    code    more code    more code}catch(ExceptionType e){    handler for this type}    如果在 try 语句块中的任何代码抛出了一个在

2015-10-18 21:36:59 490

原创 Java核心技术第11章(1)

第11章  异常,断言,日志和调试    程序必须做到以下几点:    1.向用户通告错误    2.保存所有的工作结果    3.允许用户以妥善的形式退出程序    对于异常情况,例如,可能造成程序崩溃的错误输出,Java使用一种称为异常处理(exception handing)的错误捕获机制处理.本章的第1部分将介绍Java的异常.    在测试期间,需要进行大量的测试

2015-10-16 21:51:20 881

原创 Java核心技术第6章(4)

6.4.4   局部内部类    在TalkingClock示例中,TimePrinter这个类名字只在start方法中创建这个类型的对象时使用了一次.    当遇到这类情况时,可以在一个方法中定义局部类.public void start(){ class TimePrinter implements ActionListener { public

2015-10-15 15:45:59 606

原创 Java核心技术第6章(3)

6.4 内部类    内部类(inner class)是定义在另一个类中的类.为什么需要使用内部类呢?其主要原因有以下三点:    内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据.    内部类可以对同一个包中的其他类隐藏起来.    当想要定义一个回调函数且不想编写大量代码时,使用匿名(annoymous)内部类比较便捷.    注释:C++有嵌套类,一个被嵌套

2015-10-15 11:57:08 710

原创 Java核心技术第6章(2)

6.2 对象克隆   当拷贝一个变量时,原始变量与拷贝变量引用同一个对象,这就是说,改变一个变量所引用的对象将会对另一个变量产生影响.Employee original = new Employee("John public", 50000);Employee copy = original;copy.raiseSalary(10); // oops-also change

2015-10-14 13:04:08 612

原创 Java核心技术第6章(1)

第6章   接口与内部类    首先介绍接口(interface)技术,这种技术主要用来描述类具有什么功能,而并不给出每个功能的具体实现.一个类可以实现一个或多个接口,并在需要接口的地方,随时使用实现了相应接口的对象.了解接口以后,再继续看一下克隆对象.对象的克隆是指创建一个新对象,且新对象的状态与原始对象的状态相同.当对克隆的新对象进行修改时,不会影响原始对象的状态.

2015-10-13 15:53:52 634 1

原创 Java核心技术第5章(7)

5.7 反射    反射(reflection library)提供了非常丰富的工具集,以便编写能够动态操纵Java代码的程序.这项功能被大量地应用于JavaBeans中,它是Java组件的体系结构.使用反射,Java可以支持Visual Basic用户习惯使用的工具,特别是在设计或运行中添加新类时,能够快速地应用开发工具动态地查询新添加类的能力.    能够分析类能力的程序称为反射,反射

2015-10-13 10:11:59 692

原创 Java核心技术第5章(6)

5.6 枚举类    在第3章已经讲过如何定义枚举类型,下面是一个典型的例子:public enum Size {SMALL, MEDIUM, LARGE, EXTRA_LARGE};    实际上,这个声明定义的类型是一个类,它刚好有4个实例,在此尽量不要构造新对象.    因此,在比较两个枚举类型的值,不需要调用eqauls,而直接使用"=="就可以了.    如果需要的话

2015-10-12 12:58:31 587

原创 Java核心技术第5章(5)

5.4 对象包装器与自动装箱    有时需要将 int 这样的基本类型转换成对象.所有的基本类型都有一个与之对应的类.例如,基本类型 int 对应Integer类,这些类称为包装器(wrapper).这些对象包装器类拥有很鲜明的名字:Integer,Long,Float,Double,Short,Byte,Character,Void和Boolean(前6个类派生于公共的超类Number).对

2015-10-11 20:14:59 502

原创 Java核心技术第5章(4)

5.3 泛型数组列表    在许多程序设计语言中,特别是在C语言中,必须在编译时就确定整个数组的大小.这样必须在初始化时就确定数组大小.在Java中,情况就好多了,它允许在运行时确定数组的大小.int actualSize = ...;Employee[] staff = new Employee[actualSize];    这段代码并没有完全解决运行时动态更改数组的问题.一旦

2015-10-10 13:47:02 443

原创 Java核心技术第5章(3)

5.2 Object:所有类的超类    Object类是Java中所有类的始祖,在Java中每个类都是由它扩展而来的,但是并不需要这样写:class Employee extends Object    如果没有明确地指出超类,Object就被认为是这个类的超类.    可以使用Object类型的变量引用任何类型的对象:Object obj = new Employee("Har

2015-10-09 12:47:22 490

原创 Java核心技术第5章(2)

5.1.1   继承层次    继承并不仅限于一个层次.例如,可以由Manager类派生Executive类.由一个公共超类派生出来的所有类的集合被称为继承层次(inheritance hierarchy).在继承层次中,从某个特定的类到其祖先的路径被称为该类的继承链.    通常,一个祖先类可以拥有多个子孙继承链.    注释:Java不支持多继承.5.1.2   多态

2015-10-08 20:52:05 699

原创 Java核心技术第5章(1)

第5章   继承    本章将学习面向对象程序设计的一个基本概念:继承.继承已存在的类就是复用这些类的方法和域.在此基础上,可以添加一些新的方法和域,以满足新的需求.    此外,本章还阐述反射的概念.反射是指在程序运行期间发现更多的类及其属性的能力.5.1 类,超类和子类    Manager可以重用Employee类中已经编写的部分代码,并将其中的所有域保留下来.    下

2015-10-08 10:19:42 668

原创 Java核心技术第4章(10)

4.10    类设计技巧    1.一定要保证数据私有    这是最重要的:绝对不要破坏封装性.经验告诉我们,数据的表示形式很可能会改变,但它们的使用方式却不会经常发生变化.当数据保持私有化时,它们的表示形式的变化不会对类的使用者产生影响,即使出现bug也易于检测.    2.一定要对数据初始化    Java不会对局部变量进行初始化,但是会对对象的实例域进行初始化.最好不要依赖

2015-10-07 17:00:42 511

原创 Java核心技术第4章(9)

4.9 文档注释    JDK包含一个很有用的工具,叫做javadoc,它可以由源文件生成一个HTML文档.    如果将文档存入一个独立的文件中,就有可能会随着时间的推移,出现代码和注释不一致的问题.然而,由于文档注释与源代码在同一个文件中,修改源代码的同时,重新运行javadoc就可以轻而易举地保持两者的一致性.4.9.1   注释的插入    javadoc实用程序(util

2015-10-07 16:49:08 380

原创 Java核心技术第4章(8)

4.8 类路径    在前面已经看到,类存储在文件系统的子目录中.类的路径必须与包名匹配.    另外,类文件也可以存储在JAR(java归档)文件中.在一个JAR文件中,可以包含多个压缩形式的类文件和子目录,这样既可以节省又可以改善性能.JDK提供了许多JAR文件,例如在jre/lib/rt.jar中包含数千个类库文件.    提示:JAR文件使用ZIP格式组织文件和子目录.可以使用

2015-10-07 16:46:09 472

原创 Java核心技术第4章(7)

4.7 包    Java允许使用包(package)将类组织起来.借助于包可以方面地组织自己的代码,并将自己的代码与别人提供的代码库分开管理.    标准的Java类分布在多个包中,包括java.lang,java.util和java.net等.标准的java包具有一个层次结构.如同硬盘的目录嵌套一样,也可以使用嵌套层次组织包.所有标准的Java包都处于java和javax包层次中.

2015-10-06 19:44:58 471

原创 Java核心技术第4章(6)

4.6 对象构造    前面已经学会了编写简单的构造器,以便对定义的对象进行初始化.但是,由于兑现构造非常重要,所以Java提供了多种编写构造器的方式.下面将详细地介绍一下.4.6.1   重载    从前面可以看到,GregorianCalendar类有多个构造器,可以使用:GregorianCalendar today = new GregorianCalendar();

2015-10-05 20:36:04 752

原创 Java核心技术第4章(5)

4.5 方法参数    按值调用(call by value)表示方法接收的是调用者提供的值,而按引用调用(call by reference)表示方法接收的是调用者提供的变量地址.一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值.    Java程序设计语言总是采用按值调用,也就是说,方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给它的任何参数变量的

2015-10-05 17:01:03 341

原创 Java核心技术第4章(4)

4.4 静态域与静态方法    在前面给出的示例程序中,main方法都被标记为 static 修饰符.下面讨论这个修饰符的含义.4.4.1   静态域    如果将域定义为 static,每个类中只有一个这样的域.而每一个对象对于所有的实例域却都有自己的一份拷贝.例如,假定需要给每一个Employee赋予唯一的标识符.这里给Employee类添加一个实例域id和一个静态域nextId:

2015-10-05 15:55:35 457

原创 Java核心技术第4章(3)

4.3.5   隐式参数与显式参数    方法用于操作对象以及存取它们的实例域.例如,方法:public void raiseSalary(double byPercent){ double raise = salary * byPercent / 100; salary += raise;}    将调用这个方法的对象的salary实例域设置为新值.看看下面这个调用:

2015-10-05 12:57:25 346

原创 Java核心技术第4章(2)

4.3 用户自定义类4.3.1   Empolyee类    在Java中,最简单的类定义形式为:class ClassName{ field1 field2 ... constructor1 constructor2 ... method1 method2 ...}    下面是一个非常简单的Empolyee

2015-10-03 23:03:07 521

原创 Java核心技术第4章(1)

第4章   对象与类这一章将主要介绍如下内容:面向对象程序设计如何创建标准Java类库中的类对象如何编写自己的类4.1 面向对象程序设计概述    面向对象程序设计是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分.程序中的很多对象来自标准库,还有一些是自定义的.4.1.1   类    类是构造对象的模板,由类构造对象的过程称为创建类的实例.

2015-10-02 20:54:41 806

原创 Java核心技术第3章(8)

3.10.6  多维数组    多维数组将使用多个下标访问数组元素,它适用于表示表格或更加复杂的排列形式.    在Java中,声明一个二维数组相当简单.例如:double [][] balances;    与一维数组一样,在调用 new 对多维数组进行初始化之前不能使用它.在这里可以这样初始化:balances = new double[NYEARS][NRATES];   

2015-10-01 23:29:38 634 1

原创 Java核心技术第3章(7)

3.10    数组    数组是一种数据结构,用来存储同一类型值的集合.    当声明数组变量时,需要指出数组类型(数据元素类型紧跟[])和数组变量的名字.如下所示:int[] a;    这条语句只声明了变量a,并没有将a初始化为一个真正的数组.应该使用 new 运算符创建数组:int[] a = new int[100];    这条语句创建了一个可以存储100个整数的数组.

2015-09-30 22:05:15 669

原创 Java核心技术第3章(6)

3.9 大数值    如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包的两个类:BigInteger和BigDecimal.这两个类可以处理包含任意长度数字序列的数值.BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算.    使用静态的valueOf方法可以将普通的数值转换为大数值:BigInteger a =

2015-09-29 13:00:14 351

转载 SourceInsight 日文乱码 问题解决方案

1.  对文件右键《Document Options》2. 点击 3. 字体选择《MS Gothic》, and  脚本选择《日语》4. 对文件右键选择《Style Properties》5. Font Name 选择《MS UI Gothic》

2015-09-28 16:15:09 4788

原创 Java核心技术第3章(5)

3.8 控制流程    注释:Java的控制流程结构与C/C++的控制流程结构一样,只有很少的例外情况.没有goto语句,但 break 语句可以带标签,可以利用它实现从内存循环跳出的目的(这种情况下C语言采用goto语句实现).另外还有一种变形的 for 循环,在C/C++中没有,它有点类似C#中的 for each循环.3.8.1   块作用域    块(即复合语句)是指由一对花括

2015-09-28 10:22:16 508

原创 Java核心技术第3章(4)

3.7 输入输出    打印输出到"标准输出流"(即控制台窗口),只需调用System.out.println即可.然而,读取"标准输入流"System.in就没有那么简单了.要想通过控制台进行输入,首先需要构造一个Scanner对象,并与"标准输入流"System.in关联.Scanner in = new Scanner(System.in);    现在,就可以使用Scanner类的

2015-09-27 11:10:03 451

原创 Java核心技术第3章(3)

3.6 字符串从概念上将,Java字符串就是Unicode字符序列.Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,叫做String.每个用双引号括起来的字符串都是String类的一个实例:String e = ""; // an empty stringString greeting = "hello"; 3.6.1 子串String类的su

2015-09-26 09:08:37 1041

原创 Java核心技术第3章(2)

3.5 运算符3.5.1   自增运算符与自减运算符    在Java中,借鉴了C/C++的实现方式,也使用了自增,自减运算符:n++将变量n的当前值加1;n--将n的值减1.3.5.2   关系运算符与 boolean 运算符    Java沿用了C++的习惯,用&&表示逻辑"与",用||表示逻辑"或".&&和||是按照"短路"方式求值的.如果第一个操作数已经能够确定表达式的值,

2015-09-25 20:12:41 799

原创 Java核心技术第3章(1)

第3章   Java的基本程序设计结构    本章主要讲述程序设计相关的基本概念(如数据类型,分支以及循环)在Java中的实现方式.    对于一个具有C++编程经验的程序员来说,本章的内容只需要浏览一下,应该重点阅读分布在正文中的C/C++注释.3.1 一个简单的Java应用程序    下面卡一个最简单的Java应用程序,它只发送一条消息到控制台窗口中:public cl

2015-09-25 17:44:55 719

原创 Java核心技术第2章

第2章   Java程序设计环境2.1 安装Java开发工具箱2.1.1   下载JDK            Java术语 术语 缩写 解释Java Development Kit JDK 编写Java程序的软件Java Runtime Enviroment JRE 运行Java程序的软件Stan

2015-09-25 13:56:46 1227

原创 java学习开始

今天开始学习java,使用horstmann的,源码在官网下载http://horstmann.com/corejava.html.加油!

2015-09-25 11:22:18 396

linux环境代码下载

linux程序设计——linux环境(第四章)

2015-06-09

文件操作代码下载

linux程序设计——文件操作(第三章)

2015-06-05

命令命令的执行

linux程序设计—shell程序设计(第二章)

2015-06-03

shell程序设计——变量

linux程序设计—shell程序设计(第二章)

2015-06-02

shell程序设计-变量条件控制结构函数

linux程序设计——shell程序设计(第二章)中的shell语法

2015-06-02

空空如也

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

TA关注的人

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