字父类方法重写
抽象修饰abstract
abstract修饰的类不能被调用,修饰的方法不能被调用因此改方法的方法体为空如下。
public abstract act(); //为抽象方法,需要再子类中被重写。
若一个类的其中一个方法是abstract修饰的那么这个类是抽象类。
接口interface:
多线程的创建
String的常用方法
StringBuffer的常用方法:
StringBuffer与String不同,是具有可变性的。
通常StringBuffer 我们会在构造其中指定Stringbuffer的长度。默认长度为16
calendar 日历类
LocalDateTime类、LocalDate类、LocalTime类:
instend类:瞬时点类
DateTimeFormatter类:String与Local之间的相互转换.
BigInteger类(整数型)和BigDecimal(浮点型)类:用于计算基本数据类型无法精确的计算
枚举类:
枚举类的创建enum。
枚举类的常用方法
枚举类实现接口
情况一和普通类一样实现接口重写方法即可
情况二,让每个枚举对象的重写内容各有不同
注解:
自定义注解
元注解:用来修饰注解
可重复注解
集合Collection接口中的方法
List:有序可重复
set/map:无序不可重复
iterator方法:用来遍历集合元素
迭代器Iterator
迭代器中remove方法的使用
增强for新款遍历数组方法。
list接口中的方法
ArrList的源码分析
LinkedList的源码分析
HashSet的存放原理。
Map的基本信息与组成部分
HashMap的
1.底层结构理解
2.HashMap 在Jdk7和Jdk8的不同点
Map接口中的方法
Collections工具类中的方法
附加 Collections.synchronizedXxx 方法 Xxx 为集合类型,返回一个线程安全的Xxx集合。
File类中的方法
补充: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
获取Class实例的方法,方法三最常用
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<String> con = new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
};
con.accept("谎言和誓言的区别是什么?");
System.out.println("*******************");
Consumer<String> con1 = (String s) -> {
System.out.println(s);
};
con1.accept("一个是听得人当真了,一个是说的人当真了");
}
//语法格式三:数据类型可以省略,因为可由编译器推断得出,称为“类型推断”
@Test
public void test3(){
Consumer<String> con1 = (String s) -> {
System.out.println(s);
};
con1.accept("一个是听得人当真了,一个是说的人当真了");
System.out.println("*******************");
Consumer<String> con2 = (s) -> {
System.out.println(s);
};
con2.accept("一个是听得人当真了,一个是说的人当真了");
}
@Test
public void test4(){
ArrayList<String> list = new ArrayList<>();//类型推断
int[] arr = {1,2,3};//类型推断
}
//语法格式四:Lambda 若只需要一个参数时,参数的小括号可以省略
@Test
public void test5(){
Consumer<String> con1 = (s) -> {
System.out.println(s);
};
con1.accept("一个是听得人当真了,一个是说的人当真了");
System.out.println("*******************");
Consumer<String> con2 = s -> {
System.out.println(s);
};
con2.accept("一个是听得人当真了,一个是说的人当真了");
}
//语法格式五:Lambda 需要两个或以上的参数,多条执行语句,并且可以有返回值
@Test
public void test6(){
Comparator<Integer> com1 = new Comparator<Integer>() {
@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<Integer> 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<Integer> com1 = (o1,o2) -> {
return o1.compareTo(o2);
};
System.out.println(com1.compare(12,6));
System.out.println("*****************************");
Comparator<Integer> 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 + 表名 展现表中内容