
JAVA
JAVA
菜鸟学编程
菜鸟学编程
展开
-
类的继承和权限控制
Java权限修饰符 public protected private 置于类的成员定义前,用来限定其它对象对该类对象成员的访问权限。 修饰符类内部同一个包子类任何地方privateYes defaultYes原创 2009-01-19 08:33:00 · 425 阅读 · 0 评论 -
JDK1.5增强的for循环
◈ 增强的 for 循环对于遍历 array 或 Collection 的时候相当简便◈ 缺陷: 数组:不能方便的访问下标值 集合:与使用 Iterator 相比,不能方便的删除集合中的内容 在内部也是调用 Iterator总结: 除了简单的遍历并读出其中的内容外,不建议使用增强 for 循环import java.util.*;pu原创 2009-02-02 08:35:00 · 890 阅读 · 0 评论 -
Map 接口
◈ 实现 Map 接口的类用来存储 键 - 值 对。◈ Map 接口的实现类有HashMap 和 TreeMap 等。◈ Map 类中存储的 键 - 值 对通过键来标识,所以键值不能重复。object put (object key , object value);object get (object key);object remove (object key);boolean contains原创 2009-02-02 09:23:00 · 476 阅读 · 0 评论 -
打包/解包 Auto-boxing/unboxing
◈ 在适合的时机自动打包、解包 打包:自动将基础类型转换为对象 解包:自动将对象转换为基础类型 原程序import java.util.*; public class Test { public static void main(String[] args) { Map m1 = new HashMap();原创 2009-02-02 09:49:00 · 631 阅读 · 0 评论 -
容器 小结
1136◈ 一个图 ◈ 一个类 ◇ Collections◈ 三个知识点 ◇ For //增强的 for 循环 ◇ Generic //泛型 ◇ Auto-boxing/unboxing /原创 2009-02-02 10:34:00 · 415 阅读 · 0 评论 -
File 类
File 类常用方法◈ 通过 File 对象可以访问文件的属性 public boolean canRead() public boolean canWrite() public boolean exists() public boolean isDirectory() public boolean isFile() public boolean i原创 2009-01-23 09:09:00 · 420 阅读 · 0 评论 -
Set 接口
◈ Set 接口是 Collection 的子接口,Set 接口没有提供额外的方法,但实现 Set 接口的容器类中的元素是没有顺序的,而且不可以重复。◈ Set 容器可以与数学中“集合”的概念想对应。◈ J2SKD API中所提供的 Set 容器类有 HashSet , TreeSet 等。public static void main(String[] args) { Set s = ne原创 2009-02-02 08:45:00 · 519 阅读 · 0 评论 -
Comparable 接口
◈ 所有可以“排序”的类都实现了 java.lang.Comparable 接口,Comparable 接口中只有一个方法 public int comparaTo(object obj); 该方法: 返回 0 表示 this == obj 返回正数表示 this > obj 返回负数表示 this ◈ 实现原创 2009-02-02 09:09:00 · 615 阅读 · 0 评论 -
枚举类型
◈ 枚举类型 ◇ 只能够取特定值中的一个 ◇ 使用 enum 关键字 ◇ 是 java.lang.Enum 类型例子:public class TestEnum { public enum MyColor { red, green, blue }; public static void main(String[] args) { MyCol原创 2009-02-01 09:37:00 · 380 阅读 · 0 评论 -
List 接口
◈ List 接口是 Collection 的子接口,实现 List 接口的容器类中的元素是有顺序的,而且可以重复。◈ List 容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。◈ J2SDK 所提供的 List 容器类有 ArrayList , LinkedList 等。 object get(int index); object set原创 2009-02-02 08:57:00 · 439 阅读 · 0 评论 -
如何选择数据结构
◈ 衡量标准:读的效率和改的效率 Array 读快改慢 Linked 改快读慢 Hash 两者之间原创 2009-02-02 09:20:00 · 509 阅读 · 0 评论 -
泛型
◈ 起因: JDK1.4以前类型不明确: 装入集合的类型都被当作 Object 对待,从而失去自己的实际类型。 从集合中取出时往往需要转型,效率低,容易产生错误。◈ 解决办法: 在定义结合的时候同事定义集合中对象的类型 可以在定义 Collection 的时候指定原创 2009-02-02 10:28:00 · 348 阅读 · 0 评论 -
线程
线程的基本概念◈ Java的线程是通过 java.lang.Thread 类来实现的。◈ VM启动时会有一个由主方法 ( public static void main() {} ) 所定义的线程。◈ 可以通过创建 Thread 的实例来创建新的线程。◈ 每个线程都是通过某个特定的 Thread 对象所对应的方法 run() 来完成其操作的,方法 run() 称为线程体。◈ 通过调用 Thread原创 2009-02-04 08:41:00 · 373 阅读 · 0 评论 -
线程的sleep方法
◈ sleep方法 ◇ 可以调用 Thread 的静态方法: public static void sleep (long millis) throws InterruptedException //使得当前线程休眠(暂时停止执行millis 毫秒) ◇ 由于是静态方法,sleep 可以由类名直接调用: Thread.sle原创 2009-02-04 09:05:00 · 631 阅读 · 0 评论 -
线程的优先级别
◈ Java 提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程。线程调度器按照线程的优先级决定应调度哪个线程来执行。◈ 线程的优先级用数字表示,范围从 1到10 ,一个线程的缺省优先级是5. ◇ Thread.MIN_PRIORITY = 1 ◇ Thread.MAX_PRIORITY = 10 ◇ Thread.NORM_PRIORITY = 5◈ 使用原创 2009-02-04 09:17:00 · 953 阅读 · 0 评论 -
[小技巧]使用Eclipse做Java开发时,JDK1.6居然也不认识enum和泛型的解决办法
如题,有人真的遇到过这个问题,开始被问到的时候还真觉得奇怪,心想不会啊,从JDK5开始就支持这个枚举类型了啊,为什么呢?开始还怀疑他的JDK版本太低导致的,但是一看是JDK1.6的,迷惑了几秒。。。然后我打开了Eclipse的Java编译选项,发现原来遇到这个问题的人的Java编译级别设置的是1.4,如下图,当然就会出问题了。 呵呵,虽然,这是个小问题,但是如果遇到了还真够新手郁闷一阵原创 2009-02-10 10:07:00 · 1259 阅读 · 0 评论 -
复习随笔
所有Java的关键字都是小写英文====================================================== 基本数据类型转换:整形,字符型,浮点型的数据在混合运算中互相转换,转换时遵循以下规则: ◈ 容量小的类型自动转换为容量大的数据类型;数据类型按容量大小排序为: ◇ Byte,short,char ->原创 2009-06-20 15:54:00 · 589 阅读 · 0 评论 -
Iterator 接口
◈ 所有实现了 Collection 接口的容器类都有一个 iterator 方法用以返回一个实现了Iterator 接口的对象。◈ Iterator 对象称作迭代器,用以方便的实现对容器内元素的遍历操作。◈ Iterator 接口定义了如下方法: boolean hasNext(); //判断游标右边是否有元素 object next();原创 2009-02-02 08:27:00 · 630 阅读 · 0 评论 -
容器 API
容器 API◈ Collection 接口 -- 定义了存取一组对象的方法,其子接口 Set 和 List 分别定义了存储方式。 Set 中的数据对象没有顺序且不可以重复。 List 中的数据对象有顺序且可以重复。◈ Map 接口定义了存储"键(key) - 值(value) 映射对"的方法。Collection 接口◈ Collection 接口中所原创 2009-02-01 10:55:00 · 968 阅读 · 0 评论 -
super 关键字
在Java类中使用super来引用基类的成分。原创 2009-01-19 11:39:00 · 453 阅读 · 0 评论 -
Object类 和 toString方法
Object 类◈ Object 类时所有Java类的根基类◈ 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类 public class Person { . . . . . . } 等介于: public class Person extends Object {原创 2009-01-19 13:09:00 · 508 阅读 · 0 评论 -
对象转型 (casting)
对象转型(casting)◈ 一个基类的引用类型变量可以“指向”其子类的对象。◈ 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。◈ 可以使用 引用 变量 instanceof 类名 来判断该引用型变量所“指向”的对象是否属于该类或该类的子类。◈ 子类的对象可以当作基类的对象来使用称作 向上转型(upcasting) ,反之称为 向下转型(downcasting).class A原创 2009-01-19 14:37:00 · 757 阅读 · 0 评论 -
动态绑定(也叫多态或迟绑定)
◈ 动态绑定是指“在执行期间(而非编译期间)”判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。◈ 多态的存在有三个必要的条件 1. 要有继承 2. 要有重写 3. 父类引用指向子类对象(满足以上三个条件后,当你调用父类里面被重写的方法的时候,实际当中new的是哪个子类对象,就调用该子类对象的方法)◈ 下面列子中,根据Lady 对象的成员变量 pet 所引用的不同原创 2009-01-19 15:15:00 · 1532 阅读 · 0 评论 -
接口interface
◈ 多个无关的类可以实现同一个接口。◈ 一个类可以实现多个无关的接口。◈ 与继承关系类似,接口与实现类之间存在多态性。◈ 定义 Java 类的语法格式: class [ extends ] [ implements [ , ] * ] { * }◈ 接口( interface ) 是抽象方法和常量值的定义的集合。◈ 从本质上将,接口是一种特殊的抽象类,这原创 2009-01-20 09:13:00 · 348 阅读 · 0 评论 -
继承中的构造方法
继承中的构造方法 ◈ 子类的构造的过程中必须调用其基类(父类)的构造方法。◈ 子类可以再自己的构造方法中使用 super (argument_list) 调用基类的构造方法。 ◇ 使用 this (argument_list) 调用本类的另外的构造方法。 ◇ 如果调用 spuer, 必须写在子类构造方法的第一行。◈ 如果子类的构造方法中没有显示地调用基类构造方法原创 2009-01-19 11:54:00 · 351 阅读 · 0 评论 -
equals方法
equals方法Object 类中定义有:◈ public boolean equals(Object obj) 方法 ◇ 提供定义对象是否“相等”的逻辑。◈ Object 的 equals 方法 定义为:x.equals(y) 当 x 和 y 是同一个对象的应用时返回 true 否则返回 false.◈ J2SDK提供的一些类,如 String, Date 等,重写了Object 的原创 2009-01-19 14:18:00 · 438 阅读 · 0 评论 -
异常的分类
◈ Error: 称为错误,由Java虚拟机生成并抛出,包括动态链接失败、虚拟机错误等,程序对其不做处理。◈ Exception: 所有异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显示的声明或捕获。◈ Runtime Exception: 一类特殊的异常,如被0除、数组下标超范围等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将会对程序可读性和运行效率影响很大。因此由原创 2009-01-21 08:54:00 · 465 阅读 · 0 评论 -
方法的重写
方法的重写◈ 在子类中可以根据需要对基类中继承来的方法进行重写。◈ 重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。◈ 重写方法不能使用比被重写方法更严格的访问权限。原创 2009-01-19 10:41:00 · 385 阅读 · 0 评论 -
Final 关键字
◈ final 的变量的值不能够被改变 ◇ final 的成员变量 ◇ final 的局部变量(形参)◈ final 的方法不能够被重写◈ final 的类不能够被继承public class TestFinal { public static void main(String[] args) { T t = new T(); //t.i = 8; }}原创 2009-01-19 16:22:00 · 506 阅读 · 0 评论 -
小结一
◈类和对象的概念:类:是具有同样特征的同一类事物的抽象。对象:类事物的一个特殊的实例◈类(对象)之间的关系继承,关联,聚合(聚集、组合),多态,实现◈面向对象设计思想上来应该考虑:这个问题域里面有哪些对象(或者说又哪些类)这个类里面有哪些属性或方法,类和类之间什么关系◈class◈new 引用概念:一小块内存指向一大块内存构造方法概念:当new(构原创 2009-01-20 11:39:00 · 468 阅读 · 0 评论 -
异常的捕获和处理
try { //可能抛出异常的语句} catch( SomeException1 e ) { ... ... } catch( SomeException2 e ) { ... ... }finally { ... ...} ◈ try代码包含可能产生例外的代码。◈ try代码段后跟又一个或多个 catch 代码段。◈ 每个 catch 代码段声原创 2009-01-21 10:10:00 · 613 阅读 · 0 评论 -
字符串相关类(一)String 类
◈ java.lang.String 类代表不可变的字符序列◈ String 类的常见构造方法: ◇ String ( String original ) 创建一个 String 对象为 original 的拷贝 ◇ String ( char[] value ) 用一个字符数组创建一个 String 对象 ◇ String ( char[] va原创 2009-01-21 13:34:00 · 441 阅读 · 0 评论 -
字符串相关类(二)StringBuffer 类
◈ java.lang.StringBuffer 代表可变的字符序列。◈ StringBuffer 和 String 类似,但 StringBuffer 可以对其字符串进行改变。◈ StringBuffer 类的常见构造方法: ◇ StringBuffer () 创建一个不包含字符序列的“空”的 StringBuffer 对象。 ◇ StringBuf原创 2009-01-21 14:16:00 · 565 阅读 · 0 评论 -
Math 类
◈ java.lang.Math 提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为 double 型。abs 绝对值acos , asin , atan , cos , sin , tansqrt 平方根pow(double a , double b) a 的 b次方幂log 自然对数exp e为底指数max(dou原创 2009-01-21 15:56:00 · 536 阅读 · 0 评论 -
容易做错的题目
题一: public class Test{ public static void main (String args[]) { long result = 0; long f = 1; for (int i = 1; i <= 10; i++) { f = f * i; resul原创 2009-06-20 20:33:00 · 523 阅读 · 0 评论