2012年7月26日
摘要: Vector和ArrayList Vector和ArrayList在使用上非常相似,都可用来表示一组数量可变的对象应用的集合,并且可以随机地访问其中的元素。 Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。 当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间。 ArrayList和Vector... 阅读全文
posted @ 2012-07-26 15:55 Adonstein 阅读(128) 评论(0) 推荐(0) 编辑
摘要: Hashtable和HashMap类有三个重要的不同之处。 第一个不同主要是历史原因。Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。 第二个,最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。这就意味着,虽然你可以不用采取任何特殊的行为就可以在一个多线程的应用程序中用一个Hashtable,但你必须同样地为一个HashMap提供外同步。一个方便的方法就是利用Collections类的静态的synchronizedMap()方法,它创建一个线程安全的Map对象,并把它作为一个封装的对象来返回。... 阅读全文
posted @ 2012-07-26 15:34 Adonstein 阅读(115) 评论(0) 推荐(0) 编辑
摘要: final可以修饰变量或者方法作用:1.防止父类的某个方法被子类覆盖2.防止类的某个变量被修改(final变量必须初始化)3.防止类被继承注意事项:final习俗hi的变量又叫常量,一般用xx_xx_xx来命名final修饰的变量在定义时,必须赋值,并且以后不再赋值 阅读全文
posted @ 2012-07-26 15:12 Adonstein 阅读(118) 评论(0) 推荐(0) 编辑
  2012年7月24日
摘要: java的继承是单继承(一个类最多能继承一个父类)实现接口是对继承的一种补充实现接口可以在不打破继承关系的前提下对某个类 阅读全文
posted @ 2012-07-24 13:40 Adonstein 阅读(191) 评论(0) 推荐(0) 编辑
  2012年7月21日
摘要: override可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方 法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖 父类中的方法。 在覆盖要注意以下的几点:1.覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;2.覆盖的方法的返回值必须和被覆盖的方法的返回一致;3.覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;4.被覆盖的方法不能为private,否则在其子类中只是新定义了一... 阅读全文
posted @ 2012-07-21 21:42 Adonstein 阅读(299) 评论(0) 推荐(0) 编辑
  2012年7月20日
摘要: 在Java 中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。在这种情况下,该方法就被称为重载(overloaded ),这个过程称为方法重载(method overloading )。方法重载是Java 实现多态性的一种方式。如果你以前从来没有使用过一种允许方法重载的语言,这个概念最初可能有点奇怪。但是你将看到,方法重载是Java 最激动人心和最有用的特性之一。 【参数类型说明】 当一个重载方法被调用时,Java 用参数的类型和(或)数量来表明实际调用的重载方法的版本。因此,每个重载方法的参数的类型和(或)数量必须是不同的。虽然每个重载方法可以有不同的返回类型 阅读全文
posted @ 2012-07-20 22:26 Adonstein 阅读(599) 评论(0) 推荐(0) 编辑
  2012年7月19日
摘要: 包的作用: 区分相同名字的类 良好的管理大量的类 控制访问范围打包命令 package com.name命名规范小写字母1、java.lang包:java的核心类库,包含了运行java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包2、java.io包:java语言的标准输入/输出类库,如基本输入/输出流、文件输入/输出、过滤输入/输出流等等3、java.util包:包含如处理时间的date类,处理变成数组的Vector类,以及stack和HashTable类4、java.awt包:构建图形用户界面(GUI)的类库,低级绘图操作Gr... 阅读全文
posted @ 2012-07-19 22:42 Adonstein 阅读(560) 评论(0) 推荐(0) 编辑
摘要: Java中的访问权限控制符有四个.作用域 当前类 同一package 子孙类 其他packagepublic √ √ √ √protected √ √ √ ×friendly √ √ × ×private √ × × ×没有时默认为friendly,如构造函数等~在Java语言中有4种访问修饰符:package(默认)、private、public和protected.1。package是默认的保护模式,又叫做包访问,没有任何修饰符时就采用这种保护模式。包访问允许域和方法被同一个包内任何类的任何方法访问。(包内访问)2。private 阅读全文
posted @ 2012-07-19 20:55 Adonstein 阅读(1751) 评论(0) 推荐(0) 编辑
摘要: Java语言的三大特性即是:封装、继承、多态首先先简单的说一下其3大特性的定义:封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。封装的基本要求是: 把所有的属性私有化,对每个属性提供getter和setter方法,如果有一个带参的构造函数的话,那一定要写一个不带参的构造函数。在开发的时候经常要对已 阅读全文
posted @ 2012-07-19 20:51 Adonstein 阅读(4388) 评论(0) 推荐(1) 编辑
摘要: 类方法属于所有对象实例,其形式如下:访问修饰符 ststic 数据返回类型 方法名(){ }PS:静态方法中不能访问非静态变量(类变量)使用:类名.类方法名或者对象名.类方法名java中规则:类变量原则上用类方法去访问静态(类)变量与非静态(实例)变量的区别 静态变量要加上static 静态变量是与类相关个,公共的属性 非静态变量属于每个对象个体的属性 静态变量可以通过类名.类变量名直接访问类方法与实例方法 属于与类相关的,公共发方法 实例方法属于每个对象个体的方法 类方法可以通过类名.类方法名直接访问 阅读全文
posted @ 2012-07-19 20:04 Adonstein 阅读(194) 评论(0) 推荐(0) 编辑