- 博客(33)
- 收藏
- 关注
原创 黑马程序员_Java基础加强第二天——Annotation
了解注解以及Java的几个基本注解@SuppressWarnings@Deprecated@Override总结:注解相当于一种标记,打上标记以后java编辑器、其他程序、开发工具可以通过反射了解你在类以及其元素上有何种标记,就去干相应的事情标记可以加在包、类、字段、方法、方法参数以及局部变量上java中提供的最基本的annotation在java.lang包
2014-04-12 00:19:36
377
原创 黑马程序员_基础加强第一天——JDK1.5新特性
静态导入:例:import static 类.*;可以导入该类中所有的静态方法。可变参数:问题:一个方法接受的参数个数不固定特点:只能出现在参数列表的最后...位于变量类型和变量名之间调用含有可变参数的方法时,编译器为该可变参数隐含创建一个数组,方法体中以数组的形式访问可变参数例: public static int add( int... ar
2014-04-09 20:17:53
400
原创 黑马程序员_字节流
字符流:FileReaderFileWriterBufferedFileReaderBufferedFileWriter字节流:字节流不需要flush,但是仍然需要关闭流资源。FileInputStreamFileOutputStreamBufferedInputStreamBufferedOutputStream注意:单个字节读取时
2014-03-16 23:15:08
356
原创 装饰设计模式
装饰类:当想要对已有的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有对象的功能,并且提供加强功能。那么自定义的该类就称之为装饰类。比如FileReader和BufferedReader。装饰和继承的区别:装饰模式比继承要灵活,避免了继承体系的臃肿。而且降低了类与类之间的关系。装饰类为了增强已有对象,具备的功能和已有的是相同的,只不过提供了更强功能。所以
2014-03-16 23:04:17
293
原创 黑马程序员_IO流之字符流
FileWriter数据最常见的体现形式:文件FileWriter是专门操作文件的Writer子类。(后缀名是父类名,前缀名是该流对象的功能。)创建一个FileWriter类对象,对象一旦被初始化就要明确操作的文件。该文件会被创建到指定目录下,如果原已有同名文件,将被覆盖。其实该步骤就是在明确数据存放的目的地:FileWriter fw = new FileWriter("xxx.
2014-03-15 13:53:19
338
原创 黑马程序员_IO流概述
IO流处理设备之间的数据传输Java对数据的操作是通过流的方式Java用于操作流的对象都在IO包中流按操作数据分为两种:字节流与字符流流按流向分为:输入流和输出流IO流常用基类:字节流的抽象基类:InputStream,OutputStream字符流的抽象基类:Reader,Writer注:由这四个抽象基类派生出来的子类名称都是以其父类名作为子类名的后缀。
2014-03-12 23:55:20
303
原创 黑马程序员_Map
Map基本特点:该集合存储键/值对,一对对往里存。Key不能重复,一个Key只对应一个值。添加:put(K key, V value); putAll(Map m);删除:clear(); remove(Object key)判断:containsValue(Object value); containsKey(Object key);isEmpty();获取:get(Obje
2014-03-11 00:36:25
331
原创 黑马程序员_泛型
JDK 1.5后出现泛型。如果用泛型,则TreeSetDemo中创建容器时就可制定存储类型,强转可以不使用,代码变为:import java.util.*;class Cmprt implements Comparator //比较器{ public int compare(String s1, String s2) //不需要强转类型了 { int result
2014-03-08 22:25:26
372
原创 黑马程序员_集合之Set(HashSet与TreeSet)
Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复。|--HashSet:底层数据结构是哈希表(存放哈希值的表)|--TreeSet:可以对Set集合中的元素进行排序,底层是二叉树Q:HashSet是如何保证元素唯一性的呢?A:通过hashCode()方法和equals()方法完成。如果元素的hashCode相同,则用equals判断;如果hashCode不
2014-03-08 20:03:01
482
原创 黑马程序员_List的子类LinkedList
LinkedList特有方法:addFirst(obj);addLast(obj);获取元素但不删除元素: getFirst();getLast();【如果没有抛异常获取元素但删除元素: removeFirst();removeLast();【如果没有抛异常JDK 1.6 之后出现的替代方法:offerFirst(obj); offerLast(obj);peekFirst
2014-03-06 00:02:43
464
原创 黑马程序员_List的子类Vector
Vector,作为被ArrayList代替的集合,它有其独有的取出方式:枚举(Enumeration)。枚举和迭代器很像。因为枚举的名称以及方法名称都太长,所以被迭代器取代了。示例说明:import java.util.*;class VectorDemo{ public static void main(String[] args) { Vector v =
2014-03-05 23:16:25
484
原创 黑马程序员_集合之List
List:元素有序,且可以重复,因为该集合体系有索引。所以凡是可以操作角标的方法都是该体系的特有方法。增:add(index, element);addAll(index, Collection);删:remove(index);改:set(index, element);查:get(index);subList(from, to);listIter
2014-03-05 00:50:41
399
原创 黑马程序员_基本数据类型包装类
字符串转基本数据类型:static int Integer.parseInt(str)基本数据类型转字符串:xxx+""自动装箱/拆箱:Integer x = 4;//自动装箱x = x+2;//自动拆箱,x.intValue()来看以下问题:Interger m = 128;Interger n = 128;Interger x =
2014-03-03 00:04:57
409
原创 黑马程序员_StringBuffer
StringBuffer 是字符串缓冲区是一个容器特点:1. 长度可以变化2. 可以字节操作多个数据类型3. 最终通过toString()方法转为字符串功能:1.存储 StringBuffer append(数据): 将指定数据加到已有数据末尾处 StringBuffer insert(int index, 数据): 将指定数据插入到指定位置2.删除
2014-03-02 23:22:22
378
原创 黑马程序员_String
StringString的常见操作:1. 获取1.1 字符串长度: int length()1.2 获取某个位置的字符: char charAt(int index)1.3 获取某字符在字符串中的位置:int indexOf(char ch); int indexOf(char ch, int fromIndex) 【以及lastIndexOf1.4 获取某字符
2014-03-02 16:52:39
350
原创 黑马程序员_异常
异常:程序运行时出现的不正常情况异常由来:对程序的问题封装成java对象问题划分成两种:Error类,严重的;Exception类,非严重的。Throwable|--Error|--Exception
2014-02-25 00:10:21
387
原创 黑马程序员_内部类
当描述事物时,事物的内部还有事物,那么该事物用内部类来描述,因为内部事物在使用外部事物的内容。内部类访问规则:1. 内部类可以访问外部类任何成员,包括私有化成员;之所以可以直接访问,是因为内部类中持有了一个外部类的引用,格式: 外部类名.this2. 外部类要访问内部类成员,必须建立内部类对象访问格式:当内部类在外部类的成员位置上,而且非私有,可以在
2014-02-23 20:06:54
389
原创 黑马程序员_GUI
GUI: Graphic User Interface CLI: Command line user InterfaceJava为GUI提供的对象都放在java.Awt和javax.Swing中。java.Awt: Abstract Window Toolkit, 需要调用本地系统方法实现功能,属于重量级控件。javax.Swing: 在Awt的基础上,建立一套图形界面系统,其中提供了
2014-02-22 21:19:13
332
原创 黑马程序员_接口与多态
接口 interface接口中的变量: public static final (常量)接口中的方法: public abstract所以接口中的成员都是public接口不能被实例化,需要子类实现后复写所有方法,才可实例化子类;如果没有复写所有方法,则子类是个抽象类。类与接口之间可以多实现;接口与接口之间可以多继承;类与类之间只能单继承。接口是对外暴露的规则,是程序的扩
2014-02-18 23:17:51
386
原创 黑马程序员_抽象类与模板方法设计模式
抽象类当多个类中出现相同功能,只是功能主体不同,可以向上抽取,这时,只抽取功能定义,而不抽取功能主体。抽象类的特点:1. 抽象方法一定在抽象类中;2. 抽象方法和抽象类都必须用abstract修饰;3. 抽象类不可以new对象,因为调用抽象方法没有意义;4. 抽象类中的抽象方法要被调用,必须由子类复写后创建子类实例调用;如果子类只复写了部分抽象方法,那子类还是一个抽象类。
2014-02-18 00:33:28
584
原创 黑马程序员_final关键字
final作为一个修饰符,可以修饰类,函数,变量。被final修饰的类不能被继承;被final修饰的方法不能被复写;被final修饰的变量是一个常量,只能赋值一次。既可以修饰成员变量,又可以修饰局部变量。*内部类定义在类中的局部位置时,只能访问该局部被final修饰的局部变量final如果修饰的是成员变量,往往会在前加上static;而static只能修饰成员变量,
2014-02-16 23:55:38
350
原创 黑马程序员_静态代码块
静态代码块的格式:static{ 执行语句}特点:随着类的加载而加载,类一加载就执行,只执行一次。(用到类中的内容时类才会被加载,类名 变量名 = null 时,类不加载)作用:给类进行初始化还有一种代码块叫做构造代码块,优先于构造方法执行。也就是每执行一次构造方法,会先执行一次构造代码块。考虑如下类:class StaticCode{ public StaticCode
2014-02-16 21:43:03
413
原创 黑马程序员_Java环境搭建
Path 变量(在任意目录下执行javac.exe等程序)一劳永逸配置方式:把执行命令所在的路径配置入Path变量,windows在当前目录下找不到命令后会去Path变量中的路径下找动态获取:在环境变量中增加JAVA_HOME变量后在Path变量中增加%JAVA_HOME%\bin临时环境变量配置方式: set path = xxxx(新增path);%path%(原有path
2014-02-16 15:39:21
350
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人