随笔分类 -  Java基础

Java基础相关
黑马程序员_第21天
摘要:(一) 对象的序列化静态的成员不能序列化。对于不想被序列化的非静态成员可以加transient修饰符。Person.javaimport java.io.*;class Person implements Serializable{ public static final long serialVersionUID = 42L; private String name; transient int age; static String country = "cn"; Person(String name,int age,String country) { ... 阅读全文

posted @ 2013-05-15 18:31 SinceDayOne 阅读(179) 评论(0) 推荐(0)

黑马程序员_第20天
摘要:(一) File类File类用来将文件或者文件夹封装成对象。方便对文件与文件夹进行操作。File对象可以作为参数传递给流的构造函数。跨平台的分隔符:File f4 = new File("c:"+File.separator+"abc"+File.separator+"zzz"+File.separator+"a.txt");File类常见方法:1,创建。 boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,输出流对象一建立创建文件。而且 阅读全文

posted @ 2013-05-14 20:57 SinceDayOne 阅读(183) 评论(0) 推荐(0)

黑马程序员_第18、19天
摘要:第18天(一) SystemSystem:类中的方法和属性都是静态的。out:标准输出,默认是控制台。in:标准输入,默认是键盘。描述系统的一些信息。获取系统属性信息:Properties getProperties();因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。那么可以通过map的方法取出该集合中的元素。该集合中存储的都是字符串。没有泛型定义。(二) RuntimeRuntime类并没有提供构造函数。说明不可以new对象。那么会直接想到该类中的方法都是静态的。发现该类中还有非静态方法。说明该类肯定会提供了方法获取本来对象。而且该方法是静态的,并返回值 阅读全文

posted @ 2013-05-12 22:20 SinceDayOne 阅读(135) 评论(0) 推荐(0)

黑马程序员_第17天
摘要:(一) Collections工具类排序 public static void sortDemo() { List<String> list = new ArrayList<String>(); list.add("abcd"); list.add("aaa"); list.add("zz"); list.add("kkkkk"); list.add("qq"); list.add("z"); sop(list); //Collections... 阅读全文

posted @ 2013-05-10 15:05 SinceDayOne 阅读(130) 评论(0) 推荐(0)

黑马程序员_第16天
摘要:(一) Map接口Map集合:该集合存储键值对。一对一对往里存。而且要保证键的唯一性。 1,添加。 put(K key, V value) putAll(Map<? extends K,? extends V> m) 2,删除。 clear() remove(Object key) 3,判断。 containsValue(Object value) containsKey(Object key) isEmpty() 4,获取。 get(Object key) size() values() entrySet() keySet()Map |--Hashtable:底层是哈希表数据结构 阅读全文

posted @ 2013-05-09 21:11 SinceDayOne 阅读(148) 评论(0) 推荐(0)

黑马程序员_第15天
摘要:(一) 集合框架TreeSetSet:无序,不可以重复元素。 |--HashSet:数据结构是哈希表。线程是非同步的。 保证元素唯一性的原理:判断元素的hashCode值是否相同。 如果相同,还会继续判断元素的equals方法,是否为true。 |--TreeSet:可以对Set集合中的元素进行排序。 底层数据结构是二叉树。 保证元素唯一性的依据: compareTo方法return 0. TreeSet排序的第一种方式:让元素自身具备比较性。 元素需要实现Comparable接口,覆盖compareTo方法。 这种方式也成为元素的自然顺序,或者叫做默认顺序。 TreeSet的第二种排序方式。 阅读全文

posted @ 2013-05-09 14:21 SinceDayOne 阅读(164) 评论(0) 推荐(0)

黑马程序员_第14天
摘要:(一) 集合类为什么出现集合类? 面向 语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。数组和集合类都是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。 数组中可以存储基本数据类型,集合只能存储对象。集合类的特点 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。Collection定义了集合框架的共性功能。1,添加 add(e); addAll(collection);2,删除 remove(e); removeAll(collection); clear();3,判断。 con. 阅读全文

posted @ 2013-05-08 15:50 SinceDayOne 阅读(163) 评论(0) 推荐(0)

黑马程序员_第12、13天
摘要:第12天(一) 线程间通信线程间通讯:其实就是多个线程在操作同一个资源,但是操作的动作不同。wait();notify();notifyAll();都使用在同步中,因为要对持有监视器(锁)的线程操作。所以要使用在同步中,因为只有同步才具有锁。为什么这些操作线程的方法要定义Object类中呢?因为这些方法在操作同步中线程时,都必须要标识它们所操作线程持有的锁,只有同一个锁上的被等待线程,可以被同一个锁上notify唤醒。不可以对不同锁中的线程进行唤醒。也就是说,等待和唤醒必须是同一个锁。而锁可以是任意对象,所以可以被任意对象调用的方法定义Object类中。JDK1.5 中提供了多线程升级解决方案 阅读全文

posted @ 2013-05-07 18:34 SinceDayOne 阅读(139) 评论(0) 推荐(0)

黑马程序员_第11天
摘要:(一) 多线程进程:是一个正在执行的程序。每一个进程执行都有一个执行顺序。该顺序是一个执行路径。或者叫一个控制单元。线程:就是进程中的一个独立的控制单元。 线程在控制着进程的执行。一个进程至少有一个线程。Java VM启动的时候会有一个进程java.exe。该进程中至少有一个线程,在负责java程序的执行。而且这个线程运行的代码,存在于main方法中。该线程称之为主线程。扩展:其实更细节说明jvm,jvm启动不止一个线程,还有负责垃圾回收机制的线程。1,如何在自定义的代码中,自定义一个线程呢?通过对api的查找,java已经提供了对线程这类事物的描述。就Thread类。创建线程的第一种方式:继 阅读全文

posted @ 2013-05-04 20:00 SinceDayOne 阅读(150) 评论(0) 推荐(0)

黑马程序员_第10天
摘要:(一) 异常-finallyfinally代码块:定义一定执行的代码。通常用于关闭资源。记住一点:catch是用于处理异常。如果没有catch就代表异常没有被处理过,如果该异常是检测时异常。那么必须声明。异常在子父类覆盖中的体现:1,子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类。2,如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集。3,如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常。 如果子类方法发生了异常。就必须要进行try处理。绝对不能抛。异常:是什么?是对问题的描述。将问题进行对象的 阅读全文

posted @ 2013-05-03 21:25 SinceDayOne 阅读(118) 评论(0) 推荐(0)

黑马程序员_第9天
摘要:(一) 内部类将一个类定义在 类的里面,对里面那个类就称为内部类(内置类,嵌套类)。访问特点: 内部类可以直接访问外部类中的成员,包括私有成员。之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式 外部类名.this 而外部类要访问内部类中的成员必须要建立内部类的对象。访问格式:1,当内部类定义在外部类的成员位置上,而且非私有,可以在其他类中,直接建立内部类对象。格式 外部类名.内部类名 变量名 = 外部类对象. 内部类对象; Outer.Inner in = new Outer().newInner();2,当内部类在成员位置上,就可以被成员修饰符所修饰。 比如,pr 阅读全文

posted @ 2013-05-02 21:44 SinceDayOne 阅读(145) 评论(0) 推荐(0)

黑马程序员_第8天
摘要:(一) 多态多态定义:某一类事物的多种存在形态。例如:动物中猫,狗。猫这个对象对应的类型是猫类型 猫 x = new 猫();同时猫也是动物中的一种,也可以把猫称为动物。 动物 y = new 猫(); 动物是猫和狗具体事物中抽取出来的父类型。 父类型引用指向了子类对象。1, 多态的体现父类的引用指向了自己的子类对象。父类的引用也可以接收自己的子类对象。2, 多态的前提必须是类与类之间有关系。要么继承,要么实现。通常还有一个前提:存在覆盖。3, 多态的好处多态的出现大大的提高了程序的扩展性。4, 多态的弊端:提高了扩展性,但是中南使用父类的引用访问父类中的成员。5, 多态的应用注意:多态自始自 阅读全文

posted @ 2013-05-01 21:02 SinceDayOne 阅读(115) 评论(0) 推荐(0)

黑马程序员_第7天
摘要:(一) 继承-概述有学生和工人两个类将学生和工人的共性描述提取出来,单独进行描述,只要让学生和工人与单独描述的这个类有关系,就可以了。继承:1, 提高了代码的复用性。2, 让类与类之间产生了关系。有了这个关系,才有了多态的特性。注意:千万不要为了获取其他类的功能,简化代码而继承。必须是类与类之间有所属关系才可以继承。所属关系 is a。Java语言中:java只支持单继承,不支持多继承。因为多继承容易带来安全隐患:当多个父类中定义了相同功能,当功能内容不同时,子类对象不确定要运行哪一个。但是java保留这种机制。并用另一种体现形式来完成表示。多实现。Java支持多层继承。也就是一个继承体系如何 阅读全文

posted @ 2013-04-30 20:06 SinceDayOne 阅读(140) 评论(0) 推荐(0)

黑马程序员_第6天
摘要:(一) static(静态)关键字 static关键字: 用于修饰成员(成员变量和成员函数) static修饰后的成员具备以下特点: 1,随着类的加载而加载,也就是说,静态会随着类的消失而消失,它的生命周期最长。 2,优先于对象存在 3,被所有对象所共享 4,可以直接被类名调用 使用注意 ... 阅读全文

posted @ 2013-04-29 21:06 SinceDayOne 阅读(197) 评论(0) 推荐(0)

黑马程序员_第5天
摘要:(一)面向对象思想、成员变量、局部变量、匿名对象面向对象是相对面向过程而言面向对象面向过程都是一种思想面向过程: 强调的是功能行为面向对象: 将功能封装进对象,强调具备了功能的对象。面向对象是基于面向过程的。面向对象的出现使我们的角色发生了转变,从执行者过渡到指挥者。名词提炼法:人开门人{ 开门(门) { 门.开(); }} 门{ 开(){操作门轴等。}}面向对象:三个特征:封装,继承,多态。以后开发:其实就是找对象使用。没有对象,就创建一个对象。找对象,建立对象,使用对象。维护对象的关系。类和... 阅读全文

posted @ 2013-04-28 19:03 SinceDayOne 阅读(171) 评论(0) 推荐(0)

黑马程序员_第4天
摘要:(一) 数组 静态初始化: int[] arr = new int[2];//建议格式 int arr[] = new int[2];//也可以 int[] arr = new int[]{3,1,6,5,4}; int[] arr = {3,1,6,5,4}; int[] arr = new i... 阅读全文

posted @ 2013-04-27 22:17 SinceDayOne 阅读(162) 评论(0) 推荐(0)

黑马程序员_第3天
摘要:(一)循环While:先判断条件,只有条件满足才执行循环体。Do while:先执行循环体,再判断条件,条件满足,再继续执行循环体。简单一句话:do while:无论条件是否满足,循环体至少执行一次。1,变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。For语句执行完毕。该变量在内存中被释放。2,for和while可以进行互换。如果需要定义循环增量。用for更合适。总结:什么时候使用循环结构:当要对某些语句执行很多次时,就使用循环结构。无限循环的最简单表现形式.for(;;){}while(true){}循环注意:一定要明确哪些语 阅读全文

posted @ 2013-04-26 21:05 SinceDayOne 阅读(168) 评论(0) 推荐(0)

黑马程序员_第2天
摘要:(一)标识符_常量标识符:在程序中自定义的一些名称。由26个英文字母大小写,数字:0-9符号:_$组成定义合法标识符规则:1,数字不可以开头。2,不可以使用关键字。3,Java中严格区分大小写。注意:在起名字时,为了提高可阅读性,要尽量有意义。Java中的名称规范:包名:多单词组成的所有字母都小写。xxxyyyzzz类名接口名:多单词组成时,所有单词的首字母大写。XxxYyyZzz变量名函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。xxxYyyZzz常量名:所有字母都大写。多单词时每个单词用下划线连接。XXX_YYY_ZZZ常量Java中常量的分类:1,整数常量 阅读全文

posted @ 2013-04-25 16:44 SinceDayOne 阅读(182) 评论(0) 推荐(0)

黑马程序员_第1天
摘要:(一)dos常用命令行 windows下的运行窗口输入cmd进入dos命令行。 dir:列出当前目录下的文件以及文件夹。 md:创建目录,注意目录名中名有空格的话,会创建是两个目录。如md abc d,会创建abc目录和d目录。 rd:删除目录,注意目录名中有空格的话,会删除用空格分隔的两个目录。如... 阅读全文

posted @ 2013-04-24 18:05 SinceDayOne 阅读(226) 评论(0) 推荐(0)

导航