java基础

[图片上传失败...(image-3705cf-1570968895757)]

字父类方法重写

[图片上传失败...(image-49be94-1570968895757)]

抽象修饰abstract

abstract修饰的类不能被调用,修饰的方法不能被调用因此改方法的方法体为空如下。

public abstract act(); //为抽象方法,需要再子类中被重写。

若一个类的其中一个方法是abstract修饰的那么这个类是抽象类。

[图片上传失败...(image-d0bfcc-1570968895757)]

接口interface:

[图片上传失败...(image-25dc17-1570968895757)]

多线程的创建

[图片上传失败...(image-c9f119-1570968895757)]

String的常用方法

[图片上传失败...(image-70aee6-1570968895757)]

[图片上传失败...(image-4366bf-1570968895757)]

[图片上传失败...(image-10a81a-1570968895757)]

StringBuffer的常用方法:

StringBuffer与String不同,是具有可变性的。

通常StringBuffer 我们会在构造其中指定Stringbuffer的长度。默认长度为16

[图片上传失败...(image-f99eb2-1570968895757)]

calendar 日历类

[图片上传失败...(image-6c6b9e-1570968895757)]

LocalDateTime类、LocalDate类、LocalTime类:

[图片上传失败...(image-4082fe-1570968895757)]

[图片上传失败...(image-bb734-1570968895757)]

instend类:瞬时点类

[图片上传失败...(image-d698c9-1570968895757)]

DateTimeFormatter类:String与Local之间的相互转换.

[图片上传失败...(image-f0f493-1570968895757)]

[图片上传失败...(image-422b21-1570968895757)]

BigInteger类(整数型)和BigDecimal(浮点型)类:用于计算基本数据类型无法精确的计算

[图片上传失败...(image-f25c79-1570968895757)]

枚举类:

枚举类的创建enum。

[图片上传失败...(image-e2dccc-1570968895757)]

枚举类的常用方法

[图片上传失败...(image-995ee0-1570968895757)]

枚举类实现接口

[图片上传失败...(image-678d74-1570968895757)]

情况一和普通类一样实现接口重写方法即可

情况二,让每个枚举对象的重写内容各有不同

[图片上传失败...(image-4d50a1-1570968895757)]

注解:

自定义注解

[图片上传失败...(image-38fe7-1570968895757)]

[图片上传失败...(image-124a35-1570968895757)]

元注解:用来修饰注解

[图片上传失败...(image-278d4b-1570968895757)]

可重复注解

[图片上传失败...(image-209dd8-1570968895757)]

集合Collection接口中的方法

List:有序可重复

set/map:无序不可重复

[图片上传失败...(image-ee08fc-1570968895757)]

[图片上传失败...(image-590d61-1570968895757)]

[图片上传失败...(image-ec0379-1570968895757)]

[图片上传失败...(image-883ed1-1570968895757)]

[图片上传失败...(image-299bd6-1570968895757)]

iterator方法:用来遍历集合元素

迭代器Iterator

[图片上传失败...(image-5296ad-1570968895757)]

迭代器中remove方法的使用

[图片上传失败...(image-b441f1-1570968895757)]

增强for新款遍历数组方法。

[图片上传失败...(image-2be4ac-1570968895757)]

list接口中的方法

[图片上传失败...(image-4bf00d-1570968895756)]

ArrList的源码分析

LinkedList的源码分析

[图片上传失败...(image-817af1-1570968895756)]

HashSet的存放原理。

[图片上传失败...(image-9cdfd4-1570968895756)]

Map的基本信息与组成部分

[图片上传失败...(image-5a1e1c-1570968895756)]

HashMap的

1.底层结构理解

[图片上传失败...(image-d21f18-1570968895756)]

2.HashMap 在Jdk7和Jdk8的不同点

[图片上传失败...(image-b1565b-1570968895756)]

Map接口中的方法

[图片上传失败...(image-4def7b-1570968895756)]

Collections工具类中的方法

[图片上传失败...(image-602526-1570968895756)]

附加 Collections.synchronizedXxx 方法 Xxx 为集合类型,返回一个线程安全的Xxx集合。


File类中的方法

[图片上传失败...(image-ae6d27-1570968895756)]

[图片上传失败...(image-6d6fab-1570968895756)]

[图片上传失败...(image-4564b9-1570968895756)]

[图片上传失败...(image-6c3fcf-1570968895756)]

补充:removeTo方法,重命名文件或目录,可重命名内容包括路径,只能改在已有目录下,若没有目录则无法修改返回false。修改成功返回true。

IO流

常用IO流

节点流 FileInputStream FileOutputStream FileReader FileWriter

缓冲流 BufferdInputStream BufferdFileOutputStream BufferdFileReader BufferdFileWriter

转换流(字符流) InputStreamReader( 字节流 , “解码集格式” ) (将字节转化为字符)

OutputStreamWriter(字符流, “编码集格式” ) (将字符转化为字节保存)

对象流 ObjectInputStream ObjectOutputStream

任意文件转化流 RandomAccessFile (文件位置, 设置权限(R,RW等))

标准输入、输入流 system.in system.out

打印流 PrintStream PrintWriter

IO流语句需要进行关闭操作

try{

具体造流语句

}

catch{

异常语句

}

finnal{

关闭操作

if( ? == null){

?.close();

}

}

TCP协议的网络编程

客户端类

Socket s = new Socket(InetAdrass (getByename(域名或者域地址)或者getLocalHost();, 目标端口号码int型)

之后获取流操作

服务器端类

Seversocket ss = new Seversocket(设置服务器端口号);

Socket sk = ss.accept(); 接收客户端的Socket

获取流操作


反射的实例操作:Class

[图片上传失败...(image-49580d-1570968895755)]

[图片上传失败...(image-8d2265-1570968895755)]

获取Class实例的方法,方法三最常用

[图片上传失败...(image-fc9f4d-1570968895755)]

Java8新功能


Lambda表达式的用法

//语法格式一:无参,无返回值

@Test

public void test1(){

Runnable r1 = new Runnable() {

@Override

public void run() {

System.out.println("我爱北京天安门");

}

};

r1.run();

System.out.println("***********************");

Runnable r2 = () -> {

System.out.println("我爱北京故宫");

};

r2.run();

}

//语法格式二:Lambda 需要一个参数,但是没有返回值。

@Test

public void test2(){

Consumer con = new Consumer() {

@Override

public void accept(String s) {

System.out.println(s);

}

};

con.accept("谎言和誓言的区别是什么?");

System.out.println("*******************");

Consumer con1 = (String s) -> {

System.out.println(s);

};

con1.accept("一个是听得人当真了,一个是说的人当真了");

}

//语法格式三:数据类型可以省略,因为可由编译器推断得出,称为“类型推断”

@Test

public void test3(){

Consumer con1 = (String s) -> {

System.out.println(s);

};

con1.accept("一个是听得人当真了,一个是说的人当真了");

System.out.println("*******************");

Consumer con2 = (s) -> {

System.out.println(s);

};

con2.accept("一个是听得人当真了,一个是说的人当真了");

}

@Test

public void test4(){

ArrayList list = new ArrayList<>();//类型推断

int[] arr = {1,2,3};//类型推断

}

//语法格式四:Lambda 若只需要一个参数时,参数的小括号可以省略

@Test

public void test5(){

Consumer con1 = (s) -> {

System.out.println(s);

};

con1.accept("一个是听得人当真了,一个是说的人当真了");

System.out.println("*******************");

Consumer con2 = s -> {

System.out.println(s);

};

con2.accept("一个是听得人当真了,一个是说的人当真了");

}

//语法格式五:Lambda 需要两个或以上的参数,多条执行语句,并且可以有返回值

@Test

public void test6(){

Comparator com1 = new Comparator() {

@Override

public int compare(Integer o1, Integer o2) {

System.out.println(o1);

System.out.println(o2);

return o1.compareTo(o2);

}

};

System.out.println(com1.compare(12,21));

System.out.println("*****************************");

Comparator com2 = (o1,o2) -> {

System.out.println(o1);

System.out.println(o2);

return o1.compareTo(o2);

};

System.out.println(com2.compare(12,6));

}

//语法格式六:当 Lambda 体只有一条语句时,return 与大括号若有,都可以省略

@Test

public void test7(){

Comparator com1 = (o1,o2) -> {

return o1.compareTo(o2);

};

System.out.println(com1.compare(12,6));

System.out.println("*****************************");

Comparator com2 = (o1,o2) -> o1.compareTo(o2);

System.out.println(com2.compare(12,21));

}

Lambda表达式之引用

当引用的形参与返回值类型 和 函数接口中抽象方法的形参与返回值类型 相同时,可以使用Lambda表达式引用表达式。

1、引用方法

对象 :: 实例方法

类 :: 实例方法

类 :: 静态方法

2、引用构造器

类 :: new

3、引用数组

数组类型 :: new


数据库

我的默认设置

端口号 :8081

密码: yzj

命令窗口启动mysql进程: net start mysql8081 关闭 net stop mysql8081

命令窗口登录mysql :mysql -h localhost -P 8081 -u root -pyzj (密码处不能加空格)

MySQL的常见命令语句:

show databases 展现数据库

show table 展现当前数据库中的表

use + 库名 进入该库

show table form + 库名 展现该库中的表

select * from + 表名 展现表中内容

[图片上传失败...(image-f275c9-1570968895753)]

你可能感兴趣的:(java基础)