JavaBasic-6-注解
注解
注解作用
对程序进行标注和解释
注解
说明
@Override
描述子类重写父类方法
@Deprecated
描述方法过时
@SuppressWarnings
压制警告
注解与注释的区别
注释是给程序员看
注解是给编译器看(让虚拟机看到程序中的注解,注解代表程序的一些特殊功能)
自定义注解
123public @interface 注解名{ public 元素类型 元素名() default 默认值;}
元素前的public修饰是默认的可以省略,但是不能使用其他的修饰
default是用来设置默认值的,在使用的时候如果不指定元素的值则默认是设置的这个默认值
元素类型可以使用如下
基本数据类型
String类型
Class类型
注解类型
枚举类型
以上类型的一维数组
元注解
元注解是修饰注解的注解,JDK提供了一些元注解使用
@Target:用于定义被修饰的注解可以应用于代码中的哪些位置
类或接口:ElementType.TYPE
成员变量:ElementType.FIELD
成员方法:Elem ...
JavaBasic-5-泛型
泛型
概述
泛型提供编译时类型安全检测机制
把运行时的可能出现的错误提前到编译期间
泛型分类:泛型类、泛型方法、泛型接口
泛型规则
所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前
每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。
类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。
泛型方法体的声明和其他方法一样。注意类型参数只能代表引用型类型,不能是原始类型(像 int、double、char 等)。
泛型标记符
E - Element (在集合中使用,因为集合中存放的是元素)
T - Type(Java 类)
K - Key(键)
V - Value(值)
N - Number(数值类型)
? - 表示不确定的 java 类型
自定义泛型类
格式修饰符 class 类名<标识>{}
范例public class Generic<T>
自定义泛型方法 ...
JavaBasic-4--集合类
集合类 Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。
集合框架体系
Collection
基本介绍
Collection实现⼦类可以存放多个元素,每个元素可以是Object
Collection的实现类,有些可以存放重复的元素,有些不可以
Collection的实现类,有些是有序的(List),有些不是有序(Set)
Collection接⼝没有直接的实现⼦类,是通过它的⼦接⼝Set 和 List 来实现的
接口常用方法
方法
说明
add
添加单个元素
remove
删除指定元素
contains
查找元素是否存在
size
获取元素个数
isEmpty
判空
clear
清空
addAll
添加多个元素
containsAll
查找多个元素
removeAll
删除多个元素
迭代器
基本介绍
lterator对象称为迭代器,主要⽤于遍历 Collection 集合中的元素
实现了Collection接⼝ ...
JavaBasic-3-常用类
String
String类代表字符串,Java程序中所有字符串文字(例如“abc”)都被实现为此类的实例,也就是说,Java程序中所有的双引号字符串,都是String类的对象
字符串不可变,他们的值在创建后不能被更改
使用双引号创建字符串对象和使用new创建字符串对象的区别
使用双引号创建字符串对象时,系统检查该字符串是否存在于字符串常量池中,如果不存在则创建,如果存在则复用
使用new来创建字符串对象,每一次new都会申请一个内存空间,虽然字符串内容相同,但是地址值不同
双引号创建的字符串对象在字符串常量池中存储,构造方法创建的字符串对象在堆内存中存储
==
==用于比较基本数据类型时,比较的是内容
==用于比较引用类型时,比较的是地址
比较地址
123String s1 = "abc";String s2 = "abc";System.out.println(s1 == s2); // 比较地址,输出true
123String s1 = "abc";String s2 = new String( ...
JavaBasic-2-Lambada表达式和Stream流
Lambda Expression
概述
Lambda表达式是函数式编程思想的体现,函数式编程思想尽量忽略面向对象的复杂语法,强调“做什么”而不是以什么形式去做
格式
Lambda表达式格式:(形式参数) -> {代码}
如果有多个参数,参数之间用逗号隔开,如果没有参数则留空
->代表指向动作
代码指具体实现的内容
前提
Lambda表达式使用前提
存在接口
接口中有且仅有一个抽象方法
分类
无参无返回值
有参无返回值
无参有返回值
有参数有返回值
Lambda表达式省略模式
参数类型可以省略,如果有多个参数,要么不省略要么全部省略
如果参数有且仅有一个,那么参数的括号可以省略
如果代码块中只有一条语句,那么大括号和语句的分号可以省略,return关键字也可以省略
Lambda表达式和匿名内部类的区别
所需类型不同
匿名内部类:可以是接口,可以是抽象类,还可以是具体的类
Lambda表达式:只能是接口
使用限制不同
如果接口中只有一个抽象方法,则可以使用Lambda表达式也可以使用匿名内部类
接口中有多于一个抽 ...
JavaBasic-1-基础内容
基础语法
基础语法
术语
说明
对象
对象是类的一个实例,有状态和行为
类
类是一个模板,它描述一类对象的行为和状态
方法
方法就是行为,一个类可以有很多方法
实例变量
每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定
注意事项
注意事项
说明
大小写敏感
Java 是大小写敏感的
类名
对于所有的类来说,类名的首字母应该大写。
方法名
所有的方法名都应该以小写字母开头
源文件名
源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java
主方法入口
所有的 Java 程序由 public static void main(String[] args) 方法开始执行。
标识符
Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数 ...