泛型、权限修饰符以及集合的初步了解

1: 泛型

所谓泛型,就是允许在定义类、接口时通过一个标识 表示类中某个属性的类型或者是某个方法的返回值及参 数类型。这个类型参数将在使用时(例如,继承或实现 这个接口,用这个类型声明变量、创建对象时)确定(即 传入实际的类型参数,也称为类型实参)。

1.1带有泛型的方法

语法格式 例:

public <无意义的占位符> 返回值类型 方法名(参数列表) {
    
}

小提示:

  1. 占位符可以是二十六个字母其中任何一个,但开发中常用"T" (type)或者"E" (element)或者 "?".
  2. 参数列表也可以是泛型的。
  3. 泛型的方法一定是带有参数的才有意义。
  4. 泛型的类型必须是类,不能是基本数据类型。 需要用到基本数据类型的位置,拿包装类替换
八大基本数据类型的包装类 :
byte   : Byte
short  : Short
int    : Integer
long   : Long
float  : Float
double : Double
char   : Character
boolean: Boolean

1.2带有泛型的普通类

语法格式 例 :

class 类名<无意义的占位符> {
    
}
class Person<T> {
    // 参数列表的T与前面一致
    public <T> void eat(T t) {
        System.out.println(t);
    }
    // 泛型的约束性 此处的T与类名后面的T保持一致
    public void eat1(T t) {
        System.out.println(t);
    }
     // 因为类名后面的泛型在实例化对象时才确定数据类型,但是static修饰的方法在创建对象前已经存在,所以static修饰的方法的泛型与类无关
    public static <E> void eat2(E e) {
        System.out.println(e);
    }
}
public class Demo2 {
    public static void main(String[] args) {
        Person<String> person = new Person<>();
        // eat的参数可以是任意类型,因为eat的参数类型T与方法声明处的T保持一致,与类名后面的T无关
        person.eat(89);
        // eat1的参数只能是String类型,因为在实例化对象时,指定了T为String类型
        person.eat1("吃饭");
    }
}
1.3带有泛型的抽象类

语法格式 例 :

abstract class 类名<无意义的占位符> {
    
}

小提示 :

  • 抽象类因为不能被实例化,所以需要声明一个普通类来继承,如果抽象类中带有泛型,那么子类中也需要有泛型。
abstract class Person<T> {
    
}
class Man<T> extends Person<T> {
    
}
1.4带有泛型的接口

语法格式 例 :

interface 接口名<无意义的占位符> {
    
}

2:权限修饰符

四种权限修饰符: public、protected、默认(不写)、private

类中 同一包下不同类 不同包下的子类 不同包下的不同类
private
默认(不写)
protected
public

3:集合

Java 集合可分为 Collection 和 Map 两种体系:

Collection 接口:单列数据,定义了存取一组对象的方法的集合。

​ List:元素有序、可重复的集合。

​ Set:元素无序、不可重复的集合。

Map 接口:双列数据,保存具有映射关系“key-value 对”的集合

posted @   逗逗(小白)  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
点击右上角即可分享
微信分享提示