→阿童沐

財富==支撐一個人生存多長時間的能力!

导航

文章分类 -  圣思园

1 2 下一页

<Java注解> 模拟JUnit的注解实例=
摘要:主要代码:package com.shengsiyuan.contest;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(value = {ElementType.METHOD})@Retention(value = RetentionPolicy.RUNTIME)public @interface Test{}pa 阅读全文

posted @ 2012-05-08 18:29 阿童沐

Java异常-
摘要:Java中的异常分为两大类: 1、已检查异常(Checked Exception):凡是继承自Exception类,但是不继承自RuntimeException类的异常类都叫做已检查异常; 2、未检查异常(Unchecked Exception)或叫Runtime Exception:凡是继承自RuntimeException类的异常类都叫做未检查异常。Throwable类底下存在两个子类分别是Error类和Exception类: 1、对于Error类,表示系统错误,我们在程序中无法对其进行操作,一旦出现错误,只能是程序终止; 2、对于Exception类,我们可以编写相应的异常处理器... 阅读全文

posted @ 2012-05-05 23:09 阿童沐

<Java设计模式> 代理模式-
摘要:代理模式的作用: 为其他对象提供一种代理以控制对这个对象的访问。 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 中介不仅可以帮助客户端完成客户想要完成的事情,还可以完成中介自己想要做的事情。代理模式中涉及到的角色: 六十五-18:00 1、抽象角色:声明真实对象和代理对象的共同接口;(例如:中介和房主两者均可以完成租房子这件事情,因此两者含有共同的接口,接口中含有租房子这个方法) 2、代理角色:代理角色对象内部含有对真是对象的引用,从而可以操作真实对象(聚合包容关系),同时代理对象提供与真是对象相同的接口以便在任何时候都... 阅读全文

posted @ 2012-05-03 19:42 阿童沐

<Java反射机制> getMethod()和getDeclaredField()区别-
摘要:今天在程序中用到java反射机制时,遇到的问题记录一下:我当时遇到的问题是,我用反射getMethod()调用类方法时,发生NoSuchMethodException异常,后来上网发现getMethod()调用公共方法,不能反射调用私有方法,后来找到getDeclaredField()能够访问本类中定义的所有方法。后来用这个方法解决了我遇到的问题。我查了java api文档,其中详细说明如下:Method getDeclaredMethod(String name, Class… parameterTypes) 返回一个 Method 对象,该对象反映此 Class 对象所表示的类或接口的指定 阅读全文

posted @ 2012-04-26 11:47 阿童沐

Map-
摘要:Map<K, V>表示映射关系,是将Value映射至Key上。已经实现该接口的类有HashMap<K, V>。与HashSet相类似,HashMap也是与hashCode()方法的实现有关.同HashSet相类似,HashMap放进去的元素的顺序仍然是无序的,如下例:package cn.edu.bupt.array;import java.util.HashMap;import java.util.Map;public class MapTest1{ public static void main(String[] args) { Map<String, Str 阅读全文

posted @ 2012-03-21 14:39 阿童沐

Iterator接口、Set类工作原理以及SortedSet<E>构造与Comparator<T>-
摘要:想Set当中加入元素比较简单,使用add(),remove(),isEmpty(),size()等方法即可.但是通过Set,将其中的内容取出来就不是像List那样,可以通过下标一个个的取出,而是通过Iterator(迭代器取出).Iterator是一个接口,有如下三个方法:其中第一个方法和第二个方法经常是配合使用,用于将Set中的元素一一取出.Iterator方法的工作原理如下图:使用迭代器的步骤:每一个Collection类都提供一个iterator()方法,这样每一个Set或者List都可以使用Iterator接口提供的方式遍历其中的每一个元素.因此步骤如下:1> 通过调用集合类的i 阅读全文

posted @ 2012-03-20 18:50 阿童沐

HashSet集合类 与 hashCode()、equals()详解-
摘要:Object类的equals()方法特点: 四十五讲1> 自反性: x.equals(x)应该返回true.2> 对称性: x.equals(y)为true,那么y.equals(x)也为true;反之亦然.3> 传递性: x.equals(y)为true,并且y.equals(z)为true,那么x.equals(z)也应该为true;反之亦然.4> 一致性: x.equals(y)的第一次调用为true,那么x.equals(y)的第二次,第三次,第n次调用也应该为true,前提条件是在比较过程中没有修改x和y;反之亦然.5> 对于非空引用x, x.equal 阅读全文

posted @ 2012-03-20 15:46 阿童沐

栈与队列的LinkedList实现-
摘要:利用LinkedList自定义实现队列和栈:class Queue<T>{ private LinkedList<T> list = new LinkedList<T>(); public void put(T data) { this.list.addLast(data); } public T get() { return this.list.removeFirst(); } public boolean isEmpty() { return this.list.isEm... 阅读全文

posted @ 2012-03-19 21:27 阿童沐

<Java SE > 集合 ArrayList & LinkedList-
摘要:集合中接口的关系框架:12345ArrayList:一些方法使用示例:package cn.edu.bupt.collection;import java.util.ArrayList;import java.util.List;public class ArrayListTest1{ public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("hello"); list.add("world"); 阅读全文

posted @ 2012-03-18 20:42 阿童沐

<Java SE 详解>数组-二分查找-
摘要:1、数组(Array):相同类型数据的集合就叫做数组.2、如何定义一个数组: 1>package cn.edu.bupt.array;public class ArrayStart{ public static void main(String[] args) { int[] a = new int[4]; //定义数组的格式 }}从new可以看书,数组是一种对象类型.type[] var = new type[len]; 2>package cn.edu.bupt.array;public class ArrayStart{ public sta... 阅读全文

posted @ 2012-03-17 10:31 阿童沐

包装类-
摘要:1、包装类(Wrapper Class)。针对原生数据类型,将其包装成为对象放在程序中进行处理。 原生数据类型: 1> byte 2> short 3> int 4> long 5> float 6> double 7> char 8> boolean与之对应,相应的包装类也有八个: 1> Byte 2> Short 3> Integer 4> Long 5> Float 6> Double 7> Character 8> Boolean他们均位于java.lang包下public class In 阅读全文

posted @ 2012-03-15 08:26 阿童沐

Java中默认参数的实现=
摘要:Java与C++不同,原生不支持默认参数,如C++public: void output(int i = 10) { cout << i << endl; }如果Java这样写方法,会出现编译错误,但是Java可以使用成员方法重载实现该功能:package cn.edu.bupt;public class DefaultParamTest{ public static void main(String[] args) { Test.output(); Test.output(20); }}class Test{ ... 阅读全文

posted @ 2012-02-22 10:53 阿童沐

<Java SE 详解> Object类与String类-
摘要:1、相等性的比较: 1> 对于原生数据类型来说,比较的是左右两边的值是否相等,例如boolean, int, char; 2> 对于引用类型数据来说,比较的是左右两边的引用是否指向同一个对象,或者说左右两边的引用地址值是否相同;例:public class InstanceTest{ public static void main(String[] args) { People p = new Man(); Man m = (Man)p; System.out.println(p == m); //print true }}... 阅读全文

posted @ 2012-02-20 12:47 阿童沐

<Java SE 详解> Java访问控制符-
摘要:1、访问修饰符(access modifier) public(公共的):被public所修饰的属性和方法可以被外界任何类直接访问。 protected(受保护的):被protected所修饰的属性和方法 可以在1类内部、2相同包、以及3该类的子孙类可以访问。例:C类:package cn.edu.bupt.common;public class C { protected int year = 2010;}D类:package cn.edu.bupt;import cn.edu.bupt.common.C;public class D extends C { publ... 阅读全文

posted @ 2012-02-20 08:13 阿童沐

<JavaSE 详解>:包-
摘要:1、包(package):用于将完成不同功能的类(.class文件)分门别类,放在不同的目录(包)下。包的命名规则:将公司域名反转作为包名。例如:域名:www.google.com.hk,因此包名可以是:hk.com.google,其右侧仍然可以加入子包名。2、包反应在硬盘上对应于目录结构,其目录结构是针对.class文件而言的,而非.java文件,即通过javac编译之后的.class文件要在硬盘上复合包所定义的目录结构,但是对于源文件.java,是没有这种约定的,可以放在任何目录上进行编译,但在执行.class的时候,需要“包名.类名”。对于包名,每个字母都需要小写(约定)。例如:hk.c 阅读全文

posted @ 2012-02-19 09:20 阿童沐

<Java设计模式>:单例模式=
摘要:设计模式为我们的问题提供了一种更好的解决问题的方法。任何面向对象的语言都可以实现设计模式,这是通用的。设计模式大量的依靠多态实现。经典的设计模式有23个。单例模式(singleton):表示一个类只会生成唯一的一个对象。第一种实现方式(推荐,适应多线程环境):package cn.edu.bupt.designpattern;public class SingletonTest { public static void main(String[] args) { Singleton st1 = Singleton.getInstance(); Singleto... 阅读全文

posted @ 2012-02-18 13:26 阿童沐

<Java SE 详解> static与final使用陷阱-
摘要:1、static关键字:可以用于修饰属性,也可以用于修饰方法,还可用于修饰类。 a>static修饰属性:无论一个类生成了多少个对象,所有这些对象共同使用唯一一份静态的成员变量,即静态成员变量是属于类的,而不是某一个特定的对象的。一个对象对该静态成员变量进行了修改,其他对象的该静态成员变量的值也会随之发生变化。 如果一个成员变量是static的,那么我们可以“类名.成员变量名”的方式来使用它(Java推荐使用这种方式访问静态成员)。 b>static修饰方法:static修饰方法叫做静态方法,对于静态方法来说,可以使用“类名.成员方法名”进行访问。2、静态方法(static met 阅读全文

posted @ 2012-02-17 16:07 阿童沐

<Java SE详解> 序列三-
摘要:1、多态:父类型的引用可以指向子类型的实例对象,即子类就是父类;2、Parent p = new Child();p.sing();当使用多态的方式调用方法时,通过p引用调用其中成员时是面向Parent父类中的成员进行调用,即首先检查父类中是否有sing()方法,如果没有sing()方法,调用时将会发生编译错误;如果有,再去调用子类中覆写父类成员方法的sing()方法。3、一共有两种类型的类型转换: a> 向上类型转换(upcast):比如说将Cat类型转换为Animal类型,即将子类型转换为父类型。对于向上类型转换,不需要显式指定转换的类型,因为子类就是父类,属于自动类型转换。 b&g 阅读全文

posted @ 2012-02-16 16:23 阿童沐

<Java SE 详解> 序列二-
摘要:1、类是一种抽象的概念,对象是类的一种具体表现形式,是具体的概念。先有类,然后由类来生成对象(Object)。对象又叫做实例(Instance);2、类由两大部分构成:属性及方法。属性一般由名词表示,方法一般由动词表示;3、如果一个Java源文件中定义了多个类,那么这些类中最多只能有一个类是public的,换句话说,定义的多个类可以都不是public的;4、在Java中进行方法的参数传递时,无论传递的是原生数据类型还是引用类型,参数传递的方式统一是值传递(pass by value),Java中没有传引用(pass by reference)的概念;5、方法重载(Overload):表示两个或 阅读全文

posted @ 2012-02-14 20:12 阿童沐

<Java SE 讲解> 序列一-
摘要:1、如果一个类包含了属性和方法,那么该类的每一个对象都具有自己的属性,但是无论一个类有多少个对象,这些对象共享同一个方法。2、关于方法参数传递的总结:对于Java中的方法参数传递,无论传递的是原生数据类型还是引用类型,统一是值传递(pass by value)。3、什么类型的引用就能指向什么类型的对象,比如People类型的引用就能指向People类型的对象,但是不能指向Student类型的对象。比如:People people = new People(); //正确People people = new Student(); //错误4、构造方法(Constructor):构造... 阅读全文

posted @ 2012-02-14 19:38 阿童沐

1 2 下一页