JavaSE
Racheil
不舍爱与自由
展开
-
Java中向上转型的意义
在学习Java多态性相关内容时,我一直不理解向上转型的意义,为什么要发生向上转型呢?向上转型定义:子类对象赋值给父类类型的变量,通俗地说就是是将子类对象转为父类对象class Person{ public void print() { System.out.println("人类"); }}class Student extends Person{ public void pr...原创 2019-03-13 21:02:24 · 3949 阅读 · 2 评论 -
Java集合框架——标准输出
输出集合中的元素,我们可以通过覆写toString()方法,或者利用List接口的get()方法,但这些都不是集合的标准输出。那么,集合标准输出一共有以下四种方式:Iterator ListIterator Enumeration foreach迭代输出——Iterator集合输出的时候要形成以下的思路:只要碰到了集合输出的操作,就一定使用Iterator接口,这是最重要的...原创 2019-04-21 20:41:51 · 268 阅读 · 0 评论 -
Java集合框架 ——Map接口
一、Map接口概述Map接口是由一系列键值对组成的集合,提供了key到value之间的映射,并且不能存在相同的key值,value值可以相同。Map接口继承关系:Map接口提供对一个值的集合与一个键的规则集进行查询、更新和读取等方法:方法 描述 public V put(K key, V value); 向Map中添加数据 public V get(Ob...原创 2019-04-21 22:15:12 · 340 阅读 · 0 评论 -
I/O流之转换流
Java I/O流体系中按照处理的数据类型可分为字符流和字节流字节流可以转换为字符流OutputStreamWriter类: 将字节输出流变为字符输出流 InputStreamReader类 :将字节输入流变为字符输入流那么,为什么要把字节流转换为字符流呢?首先来看一下这两个转换流的继承关系和构造方法 InputStream...原创 2019-04-14 14:30:33 · 389 阅读 · 0 评论 -
I/0流之内存流
我们经常使用I/O流来读写文件内容,除了文件之外,I/O流同样可以用来操作内存,这种流被称为内存操作流内存操作流的好处:进行I/O操作,不会产生文件内存流根据操作的数据类型可分为两类:1.字节内存流:ByteArrayInputStream、ByteArrayOutputStream2.字符内存流:CharArrayReader、CharArrayWriter内存流继...原创 2019-04-14 15:40:05 · 252 阅读 · 0 评论 -
I/O流之打印流
打印流,顾名思义,就是具有打印功能的流,可以打印任何类型的数据信息,比如小数,整数,字符串等...打印流的本质只是对OutputStream类的功能做了一个封装而已,可以看作是OutputStream功能的加强版。打印流按照操作的数据类型可分为两类:字节打印流 PrintStream 字符打印流 PrintWriter打印流的继承结构: ...原创 2019-04-14 19:08:05 · 246 阅读 · 0 评论 -
I/O流之系统标准输入与输出
我们经常使用System.out.print()语句,输出相关内容,但是,你真正了解这条语句的具体实现过程吗?实现过程:在System类内部定义了一个out静态成员变量,out变量又调用了print()方法,该方法来自于PrintStream类其实,System类内部定义了三个静态的成员变量:1. 标准输出(显示器) : public final static PrintStre...原创 2019-04-14 20:05:04 · 373 阅读 · 0 评论 -
I/O流之缓冲流
拥有缓冲区的流被称为缓冲流缓冲流把数据从原始流成块读入或把数据积累到一个大数据块后再成批写出,通过减少资源的读写次数来加快程序的执行缓冲流的分类:字节缓冲流:BufferedInputStream类、BufferedOnputStream类字符缓冲流:BufferedReader类、BufferedWriter类BufferedReader类继承结构:字符缓...原创 2019-04-14 20:51:43 · 265 阅读 · 0 评论 -
Java多线程
一、多线程的概念想要知道什么是多线程?就会引出线程的概念,而线程和进程之间又是息息相关的。进程:操作系统中一个程序的执行周期称为一个进程。线程:一个程序同时执行多个任务。通常,每一个任务就称为一个线程。多线程:一个进程运行时产生了多个线程。1.1 进程与线程的区别 进程是资源分配的最小单位,线程是程序执行的最小单位。没有进程就没有线程,进程一旦终止,其内的线程也将...原创 2019-05-04 22:28:49 · 1895 阅读 · 1 评论 -
Java集合框架
一、集合框架的由来我们经常使用数组来操作一组相同类型的数据,而数组有一个重要的缺陷,就是长度固定不变,那么集合框架的出现就是为了弥补数组的缺陷。集合可以动态扩展容量,而且可以存储不同类型的数据。既然要操作这些数据,就会引出如何组织和存储这些数据的问题——即数据结构,集合框架实际上就是java针对于数据结构的一种实现。在实际开发中,程序员不必考虑数据结构的实现过程,只需要使用这些类创建对...原创 2019-04-20 13:05:14 · 179 阅读 · 0 评论 -
Java网络编程
Java的网络编程主要涉及的内容是Socket编程,那么什么是Socket编程呢?Socket,套接字,就是连接两台主机间双向通信的端点。一个Socket由一个IP地址和一个端口号唯一确定TCP/IP协议是传输层协议,主要解决数据如何在网络中传输;在Java环境中,Socket编程主要是基于TCP/IP协议的网络编程使用Socket进行网络通信的过程服务端:服务器程序将一个套接...原创 2019-05-20 18:15:50 · 301 阅读 · 0 评论 -
模板设计模式——实现JDBC开发
一、什么是模板设计模式?在面向对象编程过程中,程序猿们经常会遇到这样的问题:设计一个系统时,知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未确定,或者说某些步骤的实现与具体环境有关,这些未确定的步骤需要延迟到子类实现。例如:去银行办理业务一般需经过以下4个步骤:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人...原创 2019-07-09 18:10:50 · 319 阅读 · 0 评论 -
Java集合框架——Collection接口
一、Collection接口概述在认识Collection接口的各个子接口之前,我们需要对它们之间的继承关系有个大概的了解。Collection接口继承关系:根据图中继承关系,我们可以看出Collection接口包含两大分支,分别为:List接口和Set接口List接口 :有序队列,元素可重复 Set接口 :无序队列,元素不能重复二、List接口...原创 2019-04-20 19:03:24 · 217 阅读 · 0 评论 -
Java——I/O流总结
在Java中File类对象,可以用来操作文件,但是不能处理文件内容为了处理文件内容,进行 I/O 操作,必须使用流的操作模式来完成I/O流体系结构图:I/0流分类:1)根据处理的数据类型分为:字节流和字符流2)根据处理的数据流向分为:输入流和输出流字节流与字符流的区别:字节流和字符流操作的本质区别只有一个:字节流是原生的操作,而字符流是经过处理后的操作。...原创 2019-04-09 17:54:43 · 403 阅读 · 0 评论 -
深入理解Java中的接口与抽象类
接口与抽象类的相同点接口与抽象类都不能被实例化接口和抽象类都可以包含抽象方法,实现接口或继承抽象类时强制要求子类实现这些抽象方法接口与抽象类的区别NO区别抽象类(abstract)接口(interface)1结构组成普通类+抽象方法全局常量+抽象方法2权限各种权限public3子类使用使用extends关键词继承抽象类使用imple...原创 2019-03-13 21:43:17 · 412 阅读 · 0 评论 -
Java设计模式——单例设计模式
单例设计模式1.什么是设计模式?我们为什么用学习设计模式呢?设计模式是一套面向对象的代码设计经验总结,早期开发人员通过不断地经验累积,以及对问题的解决方案的总结与归纳,形成了面向对象编程的23种设计模式。设计模式是一种思想,一种设计模式就是一种解决方案。通过使用设计模式,可以让我们的代码易扩展,复用性更高,可维护性更高,灵活性更好。2.什么是单例设计模式?定义:一个类只允许产生一个实例化...原创 2019-03-15 19:03:54 · 196 阅读 · 0 评论 -
String类总结
1. String类概述1.1 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。1.2 任何的字符串常量都是String对象,String的常量一旦声明不可改变(String类被final修饰,不能被继承,它的成员方法也默认为final方法),如果改变对象内容,会生成新的对象,改变的是其引用的指向而已。1.3 ...原创 2019-03-12 13:54:42 · 265 阅读 · 0 评论 -
Java异常处理机制
1.什么是异常?异常是指程序运行过程中出现的异常事件,比如使用空的引用、数组下标越界、内存溢出等,这些异常事件干扰了程序的正常运行,如果置之不理,程序就会终止或直接导致系统崩溃,因此,Java提供了一套异常处理机制来专门处理这些异常,更好的提升程序的健壮性。在Java中,异常被当作对象来处理,所有的异常都是Throwable子类的实例,它们描述了出现在一段编码中的错误条件。当条件生成时,错误将...原创 2019-03-16 21:32:41 · 237 阅读 · 0 评论 -
Object类总结
1.Object类概述Object类是所有类的父类,所有类默认继承Object类,因此所有类的对象都可以使用Object进行接收例子:使用Object接收所有类的对象class Person{}class Student{}public class Test {public static void main(String[] args) {fun(new Person());...原创 2019-03-12 16:49:45 · 222 阅读 · 0 评论 -
String 、StringBuffer 、StringBuilder的区别
一、String类字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。任何字符串常量都是String类的对象,String常量一旦声明,不可改变【String类被final修饰,不能被继承,它的成员方法(所有的方法都是成员方法)也默认为final方法】如果改变对象内容,会生成新的对象,改变的是其引用的指向而已。St...原创 2019-03-17 11:39:26 · 161 阅读 · 0 评论 -
Java代码块执行顺序
代码块定义:使用 { } 定义的一段代码根据代码块定义的位置以及关键字,可分为以下四种:普通代码块 构造代码块 静态代码块 同步代码块1.普通代码块普通代码块:定义在方法中的代码块一般如果方法中代码过长,为避免变量重名,使用普通代码块。public class Test{public static void main(String[] args) {{ //直接使...原创 2019-03-17 12:57:26 · 282 阅读 · 0 评论 -
包装类总结
首先我们如何理解包装类呢?在Java中数据类型分为基本数据类型(int、double、char等)和引用数据类型(类、数组、接口)定义一个字符串常量的方法为:String str=“hello word”;在这里String是引用数据类型中的类,str是它的对象,因此它可以作为对象使用类的方法进行相关操作那么基本数据类型能否创建自己的对象呢?由此,我们引出包装类的概念:将基本...原创 2019-03-12 18:08:28 · 243 阅读 · 0 评论 -
Java设计模式——工厂方法模式
引言:简单工厂模式虽然简单,但存在一个很严重的问题:当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同,来创建不同的产品,这必定要修改工厂类的源代码(增加一个新产品类,修改静态工厂方法内部逻辑),那么,为了实现增加新产品而不影响已有代码,工厂方法模式应运而生。一、工厂方法模式概述1.定义定义一个用于创建对象的接口,让子类决定将哪一个类实例化,同时让一个类的实例化延迟到其子类...原创 2019-03-24 19:56:29 · 195 阅读 · 0 评论 -
Java泛型总结
一、为什么需要泛型?首先,让我们来看一段代码: 1 public class Test { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("hello"); 6 list.add("word...原创 2019-03-30 21:28:22 · 268 阅读 · 0 评论 -
Java设计模式——简单工厂模式
引言:工厂模式是最常见的一类创建型设计模式,它包括以下三种具体的设计模式:简单工厂模式 工厂方法模式 抽象工厂模式我们通常所说的工厂模式是指工厂方法模式,它是使用频率最高的工厂模式,而简单工厂模式相当于工厂方法模式的“小弟”,它并不属于23种经典设计模式,但是它的设计思想相对简单,通常将它作为学习其他工厂模式的基础,此外,工厂方法模式还有一位“大哥”——抽象工厂模式,它是工厂模式中难度最...原创 2019-03-24 14:26:08 · 265 阅读 · 0 评论 -
Java File文件操作类
一、文件类基本操作File类关于文件操作的基本方法:1. 创建一个新文件public boolean creatNewFile() throws IOException //如果创建文件的路径找不到,就要抛出异常2. 判断一个文件是否存在public boolean exists()3. 删除文件public boolean delete()综合范例:判断文件...原创 2019-04-07 21:24:36 · 233 阅读 · 0 评论 -
递归打印当前目录下所有层级的文件信息
在Java中,File类提供有listFiles()方法,它能够列出本目录中的第一级信息如果要求列出目录中所有级的信息,必须自己来处理。这种操作就必须通过递归的模式来完成。递归打印当前目录下所有层级的文件信息:import java.io.File;public class Test{ public static void main(String[]args){ ...原创 2019-04-09 14:29:16 · 519 阅读 · 0 评论