Java基础学习笔记
文章平均质量分 67
个人学习Java时候的笔记,整理成文集发布
playJavaBoy
每天提高一点
展开
-
Spring 整合 Junit 一直报 java.lang.NullPointerException
文章目录1. 异常信息2. 测试代码3. `build.gradle`4. 问题分析5. 解决方案1. 异常信息java.lang.NullPointerException at com.wen.basic.app.SpringJunitTest.testSpringJunit(SpringJunitTest.java:30) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMe原创 2022-01-10 21:40:40 · 728 阅读 · 0 评论 -
扫描流(Scanner)
BufferedReader 类有两个问题:它读取数据的时候只能够按照字符串返回:public String readLine() throws IOException所有的分隔符都是固定的。在JDK1.5 后提供有一个java.util.Scanner的类,这个类专门负责解决所有输入流的操作问题。 构造方法:public Scanner(InputStream source) ...原创 2018-07-23 01:54:59 · 1109 阅读 · 0 评论 -
缓冲流
如果要进行中文数据的处理首先想到的一定是字符流,并且要想完整的处理数据,那么一定需要到缓冲区,缓冲区的操作有两种流 - 字符缓冲区流:BufferedReader 、BufferedWriter - 字节缓冲区流:BufferedInputStream 、BufferedOutputStreamBufferedReader 类的继承结构喝构造方法:java.lang.Object...原创 2018-07-22 22:38:30 · 185 阅读 · 0 评论 -
打印流
为了解决输出数据时的功能不足,所以在java.io包里面又提供了一套专门的用于输出数据的类;PrintStream(打印字节流)、PrintWriter(打印字符流)观察PrintStream类的继承与构造方法:// 继承java.lang.Object java.io.OutputStream java.io.FilterOutpu...原创 2018-07-22 00:17:00 · 97 阅读 · 0 评论 -
内存流
在之前用过了文件操作实现了针对于文件数据的输入与输出操作,但是如果说现在某一应用,需要进行IO操作,但是不生成文件,就可以使用内存来实现输入与输出的操作。对于内存流,java.io包里面提供了两组操作:字节内存流:ByteArrayInputStream、ByteArrayOutputStream字符内存流:CharArrayReader 、Ch...原创 2018-07-21 18:57:00 · 147 阅读 · 0 评论 -
综合实战--文件拷贝
在DOS系统中,文件拷贝的命令:copy 源文件 目标文件路径如果要实现文件的拷贝操作,有两种方法:方法一: 将所有的文件内容一次性读取到程序中,然后一次输出;需要开辟一个与文件大小一样的数组,但是如果文件大小过大,程序可能会崩溃;方法二: 采用边读边输出的方式,就不会占用过大的内存空间;现在需要拷贝二进制数据,使用字节流比较合适。...原创 2018-07-21 15:43:00 · 190 阅读 · 0 评论 -
转换流
字符虽然需要缓冲区进行处理,但是字符输出有一个特点:可以直接输出一个字符串数据,所以有些时候就需要进行字节流与字符流的操作转换。在java.io包里面提供两个类:InputStreamReader 、OutputStreamWriter名称InputStreamReaderOutputStreamWriter定义结构:public...原创 2018-07-20 22:40:00 · 74 阅读 · 0 评论 -
字节流和字符流
File类虽然可以操作文件,但是并不是操作文件的内容,如果要进行内容的操作只能通过两种途径:字节流、字符流如果要进行输入,输出操作一般都会按照如下的步骤(以文件操作为例):通过File类定义一个要操作文件的路径;通过字节流或字符流的子类对象为父类对象实例化;进行数据的读(输入)、写(输出)操作;数据流属于资源操作,资源操作必须关闭。...原创 2018-07-17 00:34:00 · 112 阅读 · 0 评论 -
文件操作类
如果要对文件产出文件内容的开发操作,应该使用java.io包完成,而在java.io包里面一个有五个核心类和一个核心接口:五个核心类:File InputStream OutputStream Reader Writer;一个核心接口:Serializable在整个java.io包里面file类是唯一一个与文件本身操作有关的类,但是不涉及到文件的...原创 2018-07-09 00:05:00 · 152 阅读 · 0 评论 -
国际化程序实现
国际化是指应用程序运行时,可根据客户端请求来自的国家/地区、语言的不同而显示不同的界面。例如,如果请求来自于中文操作系统的客户端,则应用程序中的各种提示信息错误和帮助等都是用中文。 Java程序的国际化思路是将程序中的标签、提示等信息放在资源文件中,程序需要支持哪些国家、语言环境,就对应提供相应的资源文件 。资源文件时key-value对,每个资源文件中的key时不变的,但是value则随不同的...原创 2018-04-21 14:07:33 · 363 阅读 · 0 评论 -
Annotation-注解
Annotation是JDK1.5最大的特色,利用注解的形式来实现不同的功能。在Java SE 里面支持自定义Annotation的开发,并且提供了三个最为常用的基础Annotation:@Override、@Deprecated、@SuppressWarnings 。1. 准确的覆写:@Override如果在输出对象的时候希望其可以返回需要的内容,...原创 2018-04-11 21:53:00 · 126 阅读 · 0 评论 -
泛型
1. 泛型的引出现在要求定义一个表示坐标的操作类(Point), 在这个类里面保存以下几种坐标:保存数字:x = 10 , y = 20 ;保存小数:x = 10.2 , y = 20.3;保存字符串:x = 东经20度,北纬15度现在这个Point类设计的关键就在于x与y这两个变量的类型,必须有一种类型可以保存这三种数据,那么就是Objec...原创 2018-04-10 23:15:00 · 168 阅读 · 0 评论 -
foreach循环
foreach输出是由C#最早引入的概念,Java在JDK1.5版本引入,其目的就是进行数据或集合数据的输出。在之前如果要进行数据输出肯定使用for循环,而后利用下标进行数据的访问。范例:原始的操作public class ForeachDemo { public static void main(String [] args) { ...原创 2018-04-06 18:46:00 · 109 阅读 · 0 评论 -
异常的捕获及处理
1. 异常的产生异常是导致程序中断执行的一种指令流,异常一旦出现且没有对其进行合理的处理,程序就中断执行。范例:不产生异常的代码public class ExceptionDemo { public static void main(String[] args) { System.out.println("1.开始除法计算")...原创 2018-04-06 09:22:00 · 187 阅读 · 0 评论 -
构造方法私有化
1. 单例设计模式(Singleton)在正常情况下,如果有一个类,那么只有通过产生对象之后才可以操作这个类范例:观察如下代码class Singleton { public void print() { System.out.println("Hello world!"); }}public class Sin...原创 2018-04-04 22:07:00 · 374 阅读 · 0 评论 -
访问控制权限
Java支持四种控制权限public、protected、default、private,这四种访问控制权限的特点:No范围privatedefaultprotectedpublic1在同一个类中√√√√2在同一个包的不同类√√√3在不同包的子类√√4在不同包的非子类√...原创 2018-04-04 17:31:00 · 131 阅读 · 0 评论 -
基本数据类型的包装类
包装类Java提供了一组包装类,来包装所有的基本数据类型基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean以上包装类又分为两种子类型...原创 2018-04-04 15:48:00 · 82 阅读 · 0 评论 -
匿名内部类
为什么需要匿名内部类?interface Message { public void print();}interface MessageImpl extends Message { public void print() { System.out.println("Hello World !"); }}...原创 2018-03-27 07:08:00 · 97 阅读 · 0 评论 -
Object类_基本概念
1. Object类的基本定义Object类是所有类的父类,任何一个类在定义的时候没有明确的继承一个父类的话,那么他就是Object的子类。下面两种定义的最终效果完全相同。class Book{}class Book Extends Object{}既然Object类是所有类的父类,那么利用Object类可以接收全部类的对象,因为...原创 2018-03-25 22:39:00 · 291 阅读 · 0 评论 -
抽象类与接口的区别
抽象类与接口的区别原创 2018-03-25 21:35:00 · 85 阅读 · 0 评论 -
接口的基本定义
1. 接口的基本定义接口,属于一个特殊的类,而且这个类里面只有抽象方法与全局变量。定义接口使用interface关键字。范例:interface A { //定义接口 //全局变量 public static final MSG="Hello"; //抽象方法 public abstract void print(...原创 2018-03-25 21:23:00 · 220 阅读 · 0 评论 -
抽象类
1. 抽象方法和抽象类规则如下:抽象类和抽象方法必须使用abstract修饰符,抽象方法不能有方法体抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。抽象类可以包含成员变量、方法、构造器、初始化块、内部类等5种成分。抽象类的构造器不能由于创建实例,主要是用于被其子类调用。含有抽象方法的类只能被定义成抽象类。...原创 2018-03-25 20:10:00 · 92 阅读 · 0 评论 -
多态
Java引用变量由两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可能出现多态(Polymorhpism)对象的多态性:指发生在继承关系类之中,子类和父类之间的转换向上转型(自动完成) :父类 父类对象 = 子类实例;向下转型(强制...原创 2018-03-22 20:14:00 · 99 阅读 · 0 评论 -
实战:数组操作
要求定义一个数组操作类(Array类),在这个类里面可以进行整型数组的操作;由外部类传入数组的大小,实现数据的保存以及数据的输出;在这个类派生出两个子类:排序类:通过此类取得的数据可以进行排序;反转类:通过此类取得的数组数据要求采用倒序的输出。1. 开发数据的父类范例:基础实现class Array { private ...原创 2018-03-21 21:26:00 · 114 阅读 · 0 评论 -
重写
方法的重写当子类定义了与弗雷方法名称相同、形参列表相同、返回值相同的方法时,就称为重写。范例:观察重写class A { public void print() { System.out.println("A类中的方法!"); }}class B extends A { public void print...原创 2018-03-20 22:43:00 · 93 阅读 · 0 评论 -
链表的定义与使用
1. 链表的基本形式链表主要知识点此次的内容属于引用部分的实际应用,所以需要依赖两点:依赖于引用传递this表示当前对象。链表的实现基本模式;开发并且使用可用链。链表基本形式链表是一种最为简单的数据结构,它的主要目的是依靠引用关系来实现多个数据的保存。链表模型图范例:定义一个Node类假设本次保存的数据...原创 2018-03-18 17:34:00 · 240 阅读 · 0 评论 -
static关键字
范例:定义程序class Book { //描述的是同一个出版社的信息 private String title; private double price; //定义一个描述出版社信息的属性, //但是考虑到操作方便,暂不封装 String pub = "清华大学出版社"; public Book...原创 2018-03-14 07:14:00 · 91 阅读 · 0 评论 -
实战:数据表与简单Java类映射
要求:用Java程序描述出department-employee关系,使用如下字段:dept: deptno dname loc ;emp: empno ename job sal comm deptno mgr在dept-emp表的关系中存在如下的关联:一个部门有多个雇员一个雇员有一个或零个领导第一步:实现基本字段的转换cl...原创 2018-03-11 17:47:00 · 195 阅读 · 0 评论 -
引用传递
引用传递时整个Java的精髓所在,核心意义:同一块堆内存空间可以被不同的栈内存所指向,不同栈内存可以对同一堆内存进行内容的修改。范例一:class Message { private int num = 10 ; public Message(int num) { this.num = num ; } ...原创 2018-03-08 22:05:00 · 101 阅读 · 0 评论 -
this关键字
this 调用属性;this调用方法利用this表示当前对象1. 调用属性范例:观察代码class Book { private String title; private double price; public Book(String t , double p) { title = t; ...原创 2018-03-08 00:36:00 · 73 阅读 · 0 评论 -
String类中其它的方法
其它方法No方法名称类型描述1public String concat(String str)普通字符串连接,与"+"类似2public String toLowerCase()普通大写转小写3public String toUpperCase()普通小写转大写4public String tr...原创 2018-03-05 22:55:00 · 93 阅读 · 0 评论 -
String类常用方法(字符串比较、查找、替换、截取、拆分)
字符串比较No方法名称类型描述1public boolean equals(Object anObject)普通判断字符内容是否相等,区分大小写2public boolean equalsIgnoreCase(String anotherString)普通判断字符内容是否相等,不区分大小写3public i...原创 2018-03-05 22:17:00 · 1220 阅读 · 0 评论 -
String类的常用方法(字节与字符串)
字节使用byte描述,字节一般主要用于数据的传输或者进行编码的转换。String类里面提供将字符串转换为字节数的方法。No方法名称类型描述1public String(byte[] bytes)构造将全部字节数组转换为字符串2public String(byte[] bytes,int offset,int lengt...原创 2018-03-04 14:25:00 · 106 阅读 · 0 评论 -
String类的常用方法(字符与字符串)
对于API文档,由以下几个部分组成:类的定义以及相关的继承结构;类的一些简短说明;类中的成员方法;类中所提供的构造方法;类中所提供的普通方法;成员、构造方法、普通方法的详细说明。1. String类中常用的方法No.方法名称类型描述1public String(char[] value)构造将字符数组转换...原创 2018-03-04 11:03:00 · 113 阅读 · 0 评论 -
String类的基本概念
1. String 类的两种实例化方式直接赋值:String 变量 = "字符串" ,在构造里面依然要接收一个本类对象构造方法:public String(String str);public class StringDemo { public static void main(String[] args) { String s...原创 2018-03-03 22:51:00 · 101 阅读 · 0 评论 -
数组的定义与使用
数组的定义数组类型 数组名称[] = new 数组类型[长度];数组的初始化静态初始化:初始化时由程序员显示指定每个数组元素的初始值,有系统决定数组长度 动态初始化:初始化时程序员只指定数组长度,有系统为数组元素分配初始值。 //静态初始化 int[] intArr1 = new int[]{1,2,3,4,5}; //动态初始化 ...原创 2018-03-03 13:56:00 · 118 阅读 · 0 评论 -
简单Java类
对于简单Java类,第一种开发要求:类名必须存在有意义,例如:Book 类之中所有的属性必须private封装,封装后的属性必须提供有setter、getter方法; 类之中可以提供有任意多个构造方法,但是必须保留一个无参空的构造方法; 类之中不允许出现任何的输出语句,所有信息的输出都由调用处输出; 类之中需要提供有一个取得对象完整信息的方法,暂定为:getInfo(), 而且返回S...原创 2018-02-27 22:26:00 · 109 阅读 · 0 评论 -
构造方法与匿名对象
构造方法对象的产生格式:①类名称 ②对象名称 = ③new ④类名称();①类名称: 规定了对象的类型,即:对象可以使用哪些属性与哪些方法,都是有类定义的;②对象名称: 如果要想使用对象,需要有一个名字,这是唯一的标识;③new : 创建新的堆内存空间,如果没有此语句,对象无法实例化;④类名称():调用一个和类名称相同的方法,这就是构造方法...原创 2018-02-27 21:14:00 · 92 阅读 · 0 评论 -
类与对象
类与对象是整个面向对象之中最为基础的组成单元;类是共性的集合,对象是个性的产物。所有的类都是用来描述出对象的结构,例如:每一个人的的姓名、年龄、身高等等类是不能直接使用的,对象是可以直接使用的,对象是通过类产生的。类与对象的基本定义如果要在成语之中定义类可以使用"class 类名称{}"的语法结构,而类之中的组成主要有两点:Field(...原创 2018-02-26 23:12:00 · 95 阅读 · 0 评论