1、泛型
泛型的好处就是普适性高,可以根据需要再定义数据的类型
1.1带有泛型的方法
成员方法的语法格式
public 返回值类型 方法名字 (参数列表) {
}
带有反省的方法语法格式:
public <无意义的占位符> 返回值类型 方法的名字 (参数列表) {
}
无意义占位符,可以是任何字符,仅仅是占位的一个声明
总结:
泛型方法一定要使用带有参数的方法才有意义,
因为泛型只有成为参数,当成变量写入方法体才有使用它的意义,不然就仅仅只是定义了一个泛型方法,方法中根本没有用到泛型。
1.2带有泛型的类
语法格式:
class 类<无意义占位符> {
}
重写带有泛型的类时,子类也必须有泛型
在泛型类中的方法,最好是普通方法,如果带有泛型的类中的方法也有泛型,那么方法中的泛型将会脱离类的泛型的控制,变成一个独立的泛型。
1.3带有泛型的抽象类
语法格式:
abstract class 类名 <无意义占位符> {
}
1.4带有泛型的接口
语法格式:
interface 接口的名字 <无意义的占位> {
}
总结:
泛型方法:
public <T> void test (T t) {}
泛型类中的泛型方法,不要这个<T>
public void test (T t) {}
泛型类:
class 类名 <T> {}
抽象类:
abstract class 类名 {}
接口:
interface 类名<T> {}
2、权限修饰符
权限修饰符 共四个:
public private default(不写就是默认) protected
2.1 public修饰符
修饰类、方法、属性
公开的,项目中的都可以调用
2.2 private修饰符
private 修饰类、成员变量、成员方法,私有的
1、在本类中可以使用私有化的成员属性和成员方法
2、同一个包下面其他类不能使用私有化的成员属性和成员方法
3、其他的包的下面的其他类不能使用 私有化的成员属性和成员方法
总结:private修饰的成员变量和成员方法只能在本类中使用
2.3 protected修饰符
修饰类、成员方法、属性
1、同一个类中可以使用的
2、同一个包下面其他类可以使用
3、不同包下面,如果是子类可以使用但是其他类不能使用
总结:其他包下面其他类不能使用,但是继承的子类可以使用的
2.4不写(默认的)
修饰方法和属性
就是不写,不写就是默认的
1、在本类中默认的属性和方法时可以使用的
2、同一个包下面的其他类可以使用
3、其他包下面的其他类不能使用的
总结:默认的属性和方法,只能在同一个包使用!
2.5四种权限修饰符的作用区间区别
权限修饰符的名称 | 当前类 | 同一个包下面其他类 | 不同包下面子类 | 不同包下面的其他类 |
---|---|---|---|---|
public | 可以 | 可以 | 可以 | 可以 |
protected | 可以 | 可以 | 可以 | 不可以的 |
不写(默认) | 可以 | 可以 | 不可以 | 不可以 |
private | 可以 | 不可以 | 不可以 | 不可以 |
3、集合【重点】
集合、数组,本质上是一样的,都是用来存储数据的,真实开发时,只用集合,不用数组。
3.1数组跟集合的区别
数组存数据:
1、容量是固定的
2、封装方法少,处理问题的途径就少
集合存数据:
1、容量不固定,想存多少存多少
2、封装的方法多,可灵活运用
3.2集合的架构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yfNxgkl9-1659350766137)(D:\eclipse\eclipseTRY\Day_15\code\1.png)]
还是看官方的API
interface Collection java中集合的总接口
Collection下面有两个重要的子接口 List 、 Set
List 接口:
是Collection下面的子接口,存储数据特征:
有序的,可重复的
有两个重要的实现类:
ArrayList LinkedList
Set 接口:
是Collection下面的子接口,存储数据特征:
无序的,不可重复的
有两个重要的实现类:
HashSet TreeSet
3.3 Collection接口
学习Collection接口,其实就是学这个接口下边的方法
这个接口不能实例化,借助与ArrayLis即可,用多态调用子类方法。
3.3 Collection接口
学习Collection接口,其实就是学这个接口下边的方法
这个接口不能实例化,借助与ArrayLis即可,用多态调用子类方法。