美文网首页
java 泛型和多态的区别

java 泛型和多态的区别

作者: 书虫大王X | 来源:发表于2021-07-24 15:16 被阅读0次

1、使用泛型可以最大限度的复用代码、保护类型安全以及提高性能,例如:泛型集合框架的使用。(没有泛型以前,集合中加入的数据都会被保存为object类型,取出来使用时需要就行类型转化,在转化过程中容易出错)
2、泛型实现了参数化类型的概念,例:

定义:
public class Queue < T >{   // T是参数类型占位符
private List< T > list;
//  构造方法
   public Queue(){
       this.list = new ArrayList< T > ();
   }
  public void add(T item){
    this.list.add(item);
  }

// 调用:
Queue<String> ykQueue = new Queue();
ykQueue.add("你好啊");
}

3、泛型方法:

public < T > boolean isEquals(T a, T b) {  操作 }
//  限定类型参数
public < T extends Numbers> boolean isEquals(T a, T b) {  操作 }

多态:

  • 封装:封装数据和行为,外部在接口方法中对内部就行操作,内部也可以对外部的操作的合理性进行判断,选择是否接收操作
  • 继承:复用和扩展,加快开发速度
  • 多态:一种类型表现出多种状态。方法多态(重载)和对象多态:
  • 方法多态:方法重载,系统根据传入参数的不同,调用不同的接口方法
  • 对象多态:可以用父类接收所有子类对象,系统根据接收的对象,调用相应的子类方法(覆写过后的子类方法)
  • 多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性进行不同的方式运作
  • 继承:子类调用父类的方法;多态父类调用子类的方法
  • 覆写:子类 父类方法在方法名、参数、返回值都相同
    重载:只有方法的参数有区别

  • 泛型就是将类型参数化,在定义方法的时候,可以不用明确需要传入什么类型的数据,在使用该方法时,才知道要传入的参数类型。多态是允许用用父类接收子类的对象,并根据传入的具体对象调用相应的方法。其中涉及到类型向上转化(自动)和向下转化(一般需要用户手动)

相关文章