泛型的方法
带有泛型方法的语法格式:
public <无意义的占位符> 返回值类型 方法的名字(参数列表){
}
无意义的占位符:T,E ,?等等
无参无返回值的方法
//无参无返回值的方法,没有必要使用泛型 没有意义
public static <T> void eat () {
System.out.println("嘻嘻哒");
}
有参无返回值的方法
public static <T> void eat (T t) {
System.out.println(t);
}
无参有返回值的方法
//无参有返回值的方法,没有必要用泛型
public static <T> T eat() {
return null;
}
有参有返回值的方法
public static <T> eat (T t) {
return t;
}
总结:泛型方法一定要使用带有参数的方法才有意义
泛型的类
语法格式:
class 类<无意义的占位符>{
}
//在泛型类中如果写泛型方法的时候,不需要加<无意义的占位符>
泛型的抽象类
语法格式:
abstract class 类名<无意义的占位符>{
abstract void eat (T t);
}
//总结:继承了带有泛型的抽象类,那么继承类也需要有泛型!!!
泛型的接口
语法格式:
interface 接口的名字<无意义的占位>{
}
权限修饰符
1、private修饰符
private 修饰成员变量和成员方法。私有的
1.在本类中可以使用私有化的成员属性和成员方法
2.同一个包下面其他类不能使用私有化的成员属性和成员方法
3.其他的包的下面的其他类不能使用私有化的成员属性和成员方法
总结:private修饰的成员变量和成员方法只能在本类中使用
2、default(默认的)
修饰方法和属性;就是不写,默认的
1.在本类中默认的属性和方法是可以使用的
2.同一个包下面的其他类可以使用
3.其他包下面的其他类不能使用的
总结:默认的属性和方法只能在同一个包使用!!!
3、protected保护
修饰方法和属性
1.同一个类中可以使用的
2.同一个包下面其他类可以使用
3.不同包下面,如果是子类可以使用但是其他类不能使用
总结:其他包下面其他类不能使用,但是继承的子类可以使用的
4、public 公共的
修饰方法和属性
公开的,谁都可以
权限修饰符的名称 | 当前类 | 同一个包下面其他类 | 不同包下面子类 | 不同包下面的其他类 |
---|---|---|---|---|
public | 可以 | 可以 | 可以 | 可以 |
protected | 可以 | 可以 | 可以 | 不可以的 |
default(默认) | 可以 | 可以 | 不可以 | 不可以 |
private | 可以 | 不可以 | 不可以 | 不可以 |