Java学习笔记
qq_39879831
这个作者很懒,什么都没留下…
展开
-
JAVA-1-面向过程和面向对象
举例 : 大象装进冰箱1.面向过程(1)打开冰箱(2)存储大象(3)关闭冰箱对于面向过程思想,强调的过程(动作)。2.面向对象 对于面向对象思想,强调的对象(实体)大象和冰箱都是对象。(1)冰箱打开(2)冰箱存储(3)冰箱关闭冰箱包含这些打开,存储,关闭的功能2.2特点1.面向对象是一种常见的思想,符合人们的思考习惯。2.面向对象的出现,将复杂的问题简单化。3.面向对原创 2017-10-21 15:36:07 · 176 阅读 · 0 评论 -
java-14-String类
String类的特点: 字符串常量池的特点//字符串对象一旦被初始化就不会被改变。String s = "abc";//此处的"abc"是一个字符串常量对象,它存放在字符串常量池中。String s2 = "abc";System.out.println(s==s1);/*这句代码的结果是true,为什么呢?是因为它们比较的是内容么?错它们还是比较的是地址,因为"abc"存在于常原创 2017-11-16 21:18:51 · 206 阅读 · 0 评论 -
java-16(2)-泛型
1.泛型泛型是JDK1.5出现的安全机制。好处:1.将运行时期的问题ClassCastException转到了编译时期。2.避免了强制类型转换。2.泛型什么时候用呢?当操作引用的数据类型不确定的时候,就用泛型<>,将要操作的引用数据类型传入即可。其实<>就是用于接收具体引用数据类型的参数范围。在程序找那个,只要用到了带有<>的类或者接口,就要明确传入的具体引用数据类型。3.泛型技术是原创 2017-11-29 20:37:09 · 149 阅读 · 0 评论 -
java-16-集合框架(未完)
1.集合的由来:对象用于封装特有数据,对象多了需要存储,就需要结合容器进行存储。1.2集合的特点:1.用于存储对象的容器。2.集合长度是可变的。3.集合中不可以存储基本数据类型值。1.3 集合容器因为内部数据结构不同,有多中具体容器,不断向上抽取,就形成了集合框架,位于最顶层的就是Collection接口。 1.4Collection的常见方法:· 1.添加。原创 2017-11-26 22:31:17 · 169 阅读 · 0 评论 -
java-16(3)-Map集合
1.Map集合一次添加一对元素,称为双列集合,Collection一次存储一个元素,称为单列集合。其实Map集合中存储的是键值对,Map集合必须保证键的唯一性。2.Map集合常用的方法:1.添加: value put(key,value);返回前一个和key关联的值,如果没有就返回null.2.删除: void clear();清空map集合 value remove(原创 2017-12-03 11:18:11 · 134 阅读 · 0 评论 -
java-16(4)-工具类
1.工具类,是对集合和数组功能的补充。工具类有两种Collections是集合框架工具类,里面的方法是静态的。Arrays是数组工具类,里面的方法是静态的。2.Collections常用的方法Collections: 排序: sort(); sort(list,Comparator); 交换值: swap(list,i,j);原创 2017-12-03 13:23:28 · 133 阅读 · 0 评论 -
java-17-其他对象API
System类中的方法和属性都是静态的常用方法:long currentTimeMillis();获取当前时间的毫秒值Proerties getProperties();获取系统的属性信息,并存储到了Properties集合中。Properties集合中存储的是String类型的键和值。Set<String> stringPropertyNames();方法可以把键返回到一个set集合中。原创 2017-12-11 21:01:29 · 165 阅读 · 0 评论 -
2017-12-11日周总结
本周主要学习了其他对象的API的使用: System直接使用不用创建对象,方法都是静态的。 Math 直接使用不用创建对象,方法是静态的。 Random 可以创建对象。 Runtime 利用提供的方法获取对象,单例设计模式。 Date 可以创建对象。 Calendar 利用提供的方法获取对象,单例设计模式。还学习了一些IO流; 主要是FileWriter和FileReader的使用方法原创 2017-12-12 17:27:29 · 139 阅读 · 0 评论 -
12-4-2017周总结
本周学习了泛型,Map集合还有集合工具类。 1.泛型将运行时期的问题转移到了编译时期,避免了强制类型转换;泛型可以用在接口上,类上还有方法上。 1.2 定义在接口上的泛型。interface Inter <Y>{//在接口上定义了一个不明确要操作的引用类型 void show(Y y);} 1.3定义在方法上的泛型。 public static <Y> void method(Y obj原创 2017-12-04 12:24:23 · 123 阅读 · 0 评论 -
java-15-基本数据类型对象包装类
1.基本数据类型对象包装类。为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为,丰富了该数据的操作。2.用于描述对该对象的类就称为基本数据类型对象包装类。 byte Byte short Short int Integer long Long float Float double原创 2017-11-20 19:29:52 · 133 阅读 · 0 评论 -
11-26-2017-周总结
本周学习了基本数据类型包装类还有集合框架。 1.基本数据类型包装类主要用于基本数据类型和字符串之间的转换。基本数据类型->字符串类型 1.基本数据类型值+""; 2.用String类中的静态方法valueOf方法。字符串类型->基本数据类型。 1.使用基本数据类型包装类的静态方法parse方法。 2.非静态方法intValue方法。 整数进制之间的转换。原创 2017-11-28 12:50:45 · 139 阅读 · 0 评论 -
java-17(2)-字符流缓冲区
1.缓冲区的出现是为了提高读写效率。 2.字符流缓冲区BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。特有方法:newline();//分行BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。特有方法:readLine();//读取一行数据,当下一行没有数据时返回null。原创 2017-12-19 14:45:06 · 159 阅读 · 0 评论 -
2017-12-18日周总结
本周学习了流的 字符流缓冲区:BufferedReader;BufferedWriter; 实现了一个简单的BufferedReader缓冲区, 学习了装饰设计模式,它是为了扩展和提高类的功能而出现的。 装饰比继承更为灵活。下周计划学习有关字节流的相关操作。原创 2017-12-19 14:55:46 · 137 阅读 · 0 评论 -
java-17(3)-转换流
1 转换流:InputStreamReader:字节到字符的桥梁,解码。OutputStreamWriter:字符到字节的桥梁,编码。2 流的操作规律:之所以要弄清楚这个规律,是因为流对象太多,开发时不知道哪个对象合适。想要知道开发时用到哪个对象,只需四个明确即可。1.明确源和目的源:InputStream Reader目的:OutputStream Writer2.明确数据是否是纯文原创 2017-12-29 17:02:15 · 173 阅读 · 0 评论 -
2017-11-19周总结
PS:本周由于准备复习考试的原因,就学了一点java的知识。 1.主要学习了 String类的一些特点,常用的方法(获取,转换,判断,比较)等。 2.了解了常量池的基本特点,字符串常量池的特点是如果常量池中有你想创建的那个字符串,它就不会去重新创建一个新的字符串对象,它会直接把字符串常量池中的那个字符串的地址空间赋给你创建的那个对象。说白了就是有就拿来用,没有就创建。 3.学习了 String原创 2017-11-20 18:54:20 · 192 阅读 · 0 评论 -
11-5-17周总结
thread(线程) 1.1首先要明确进程的概念就是正在进行中的程序,有PCB,数据段,程序段组成.是系统资源分配的单元.1.2.线程就是进程中的一个负责程序执行的控制单元(执行单元) 1.3 一个进程中可以建立多个线程,一个进程中至少有一个线程。 开启多个线程是为了让多个线程执行多个任务或者执行一个任务,这样可以让多个程序代码在一个时间段内并发执行,但是CPU(针对单核)在某一个时刻,原创 2017-11-05 22:57:00 · 107 阅读 · 0 评论 -
Java -2-构造函数
1.1构造函数(1)简单的说,构造函数就是构建创造对象时调用的函数。(2)构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。 --源于百度百科1.2作用和特点(1)可以对对象初始化;创建对象都必须要通过构造函数初始化。(2)构造函数的命名必须和类名完全相同。它没有返回值,也不能用void来修饰。2.一个类中如原创 2017-10-21 16:25:26 · 157 阅读 · 0 评论 -
JAVA-3-this笔记
1.当成员变量和局部变量重名时,可以用关键字this来区分 2.this:代表对象。 代表哪个对象呢?当前对象 this就是所在函数所属对象的引用 简单的说,就是哪个对象调用了this所在的函数,this就代表了哪个对象3.this:也可以用于在构造函数中调用其他构造函数 注意:只能定义在构造函数的第一行,因为初始化动作要先执行 class Person//定义了一原创 2017-10-22 10:35:19 · 140 阅读 · 0 评论 -
JAVA-4-Static笔记
1.static 的特点1.static是一个修饰符,用于修饰成员。2.static修饰的成员被所有的对象所共享。3.static优先于对象存在,因为static的成员随着类的加载就已经存在了。4.static修饰的成员多了一种调用方式,可以直接被类名所调用,类名.静态成员。5.static修饰的数据是共享数据,对象中存在的数据是特有数据。2.成员变量和静态变量的区别?1.两个变量的生命周原创 2017-10-22 10:26:56 · 178 阅读 · 0 评论 -
Java-7-抽象类&接口笔记
1.1 抽象类:抽象:笼统,模糊,看不到,不具体!1.2 特点:1.方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰,抽象方法必须定义在抽象类中。该类必须也被abstract修饰。2.抽象类不可以被实例化,为什么?因为调用抽象方法没意义。3.抽象类必须有其子类覆盖了所有的抽象方法后,该子类才可以实例化,否则,这个子类还是抽象类。2.1 抽象类中有构造函数吗?有,用原创 2017-10-25 22:39:07 · 167 阅读 · 0 评论 -
JAVA-8-多态笔记
多态class Animal{}class Cat extends Animal{}class Dog extends Animal{}Cat x = new Cat(); Animal x = new Cat();//一个对象,两种形态。 猫这类事物既具备着猫的形态,又具备着动物的形态。 这就是对象的多态性。简单的说:就是一个对象对应着不同的类型。多态在代码中的体现: 父类或者原创 2017-10-27 18:33:14 · 173 阅读 · 0 评论 -
Java-9-内部类&类的初始化过程
1.内部类访问特点:1.可以直接访问外部类的私有成员.2.外部类想要访问内部类时,要在外面创建内部类的对象,进行调用.1.2内部类什么时候使用呢?一般用于类的设计.分析事物时,发现该事物描述中还有事物,而且这个事物还在访问被描述事物的内容,这时就是还有的事物定义成内部类来描述.例如:心脏要经常使用人体内部的其他器官,所以心脏就是内部类,人就是外部类.class Outer{ p原创 2017-10-28 22:52:29 · 1383 阅读 · 0 评论 -
Java -5-单例设计模式笔记
设计模式:对问题行之有效的解决方式,它是一种思想1.单例设计模式解决的问题:就是可以保证一个类在内存中的对象唯一性。如果对于多个程序使用同一个配置对象时,就需要保证该对象的唯一性。2.如何保证对象唯一性呢?1.不允许其他程序用new创建该类的对象。2.在该类创建一个本类实例。3.对外提供一个方法让其他程序可以获取该对象。//饿汉式 类一加载对象就创建完成class Single{原创 2017-10-23 20:40:15 · 165 阅读 · 0 评论 -
JAVA-6-继承
继承的好处; 1.提高了代码的复用性。 2.让类与类之间产生了关系,给第三个特征多态提供了前提。java中支持单继承,不直接支持多继承,但对c++中的多继承机制进行了改良。单继承:一个子类只能有一个直接父类。 多继承:一个子类可以有多个直接父类(java中不允许,进行了改良)。 不直接支持,因为多个父类中有相同成员,会产生调用的不确定性。 在java中通过“原创 2017-10-25 13:43:13 · 126 阅读 · 0 评论 -
Java-10-异常
1.异常:是在运行时期发生的不正常情况.1.2 在java中用类的形式对不正常情况进行了描述和封装对象.描述不正常的情况的类,就称为异常类.以前正常流程代码和问题处理代码相结合.现在将正常流程代码和问题处理代码分离,提高阅读性.其实异常就是java通过面向对象的思想将问题封装成了对象.用异常类对其进行描述.不同的问题用不同的类进行具体的描述.比如角标越界,空指针等等.2.1 问题很多,意原创 2017-10-29 20:18:17 · 265 阅读 · 0 评论 -
Java-11-package(包)
protected:被该修饰符修饰的方法只能由子类使用,其他类创建该类的对象也无法使用.import:导入包中的类,不能导入包中的包.目的: 为了简化类名书写导包的原则:用到那个类,就导入那个类package mypack;import packA.*;//导入packA包中所有的类,不导入包中的包. import packA.DemoA;//导入packA中的DemoA类import p原创 2017-11-01 21:48:02 · 338 阅读 · 0 评论 -
java-12-Thread续
线程之间的同步互斥关系 1. 同步关系:它是指为了完成某种任务而建立两个或多个线程,这些线程要在某些位置上协调他们的工作次序而等待、传递信息所产生的制约关系。例如卖烧鸡,生产者必须把烧鸡生产出来,然后消费者才可以去买。这就产生了次序问题。1.2 互斥关系:当一个线程进入临界区使用临界资源时,另一个线程就必须等待,当占用临界资源的线程退出临界区后,另一个线程才允许去访问此临界资源。例如一个原创 2017-11-09 22:54:54 · 213 阅读 · 0 评论 -
java-12-thread
1.1 进程:正在进行中的程序(直译).由PCB,数据段,程序段组成.是系统资源分配的单元. 1.2 线程:就是进程中一个负责程序执行的控制单元(执行路径)1.3 一个进程中可以多执行路径,称之为多线程. 一个进程中至少有一个线程.1.4 开启多个线程是为了同时运行多部分代码. 每一个线程都有自己运行的内容.这个内容可以称为线程要执行的任务.多线程的原创 2017-11-01 22:05:07 · 232 阅读 · 0 评论 -
java-13-死锁
1 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象, 若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。2 死锁的发生必须具备以下四个必要条件1)互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只原创 2017-11-05 10:52:18 · 120 阅读 · 0 评论 -
2017-12-29-周总结
本周学习了转换流,File类以及递归.转换流:InputStreamReader:字节到字符的桥梁OutStreamWriter:字符到字节的桥梁当源或者目的对应设备是字节流,但是操作的却是文本数据,可以使用转换作为桥梁,便捷操作,也可以加上缓冲区提高效率。 如果操作的文本涉及到具体的指定编码表时,要使用转换流编解码。学习了File 类的一些常用方法并结合递归可以对目录进行深层遍历以及删除有子原创 2017-12-29 17:11:18 · 135 阅读 · 0 评论