zoukankan      html  css  js  c++  java
  • 0基础学java_泛型

    泛型

    泛型(genenics)可以解决数据类型的安全问题。其主要原理是在类声明的时候,通过一个标识表示类中某个属性的类型或者某个方法的返回值类型及参数类型,这样在类的声明和实例化时候只需要指定需要的类型即可。

    举例:

     1 package com.feimao.a1;
     2 class Point <T>{
     3     private T var;
     4     public void setVar(T var) {
     5         this.var = var;
     6     }
     7     public T getVar() {
     8         return var;
     9     }
    10 }
    11 public class GenenicsDemo01 {
    12     public static void main(String args[]){
    13         Point<String> p = new Point<String>();
    14         p.setVar("feimao");
    15         System.out.println(p.getVar().length());
    16     }
    17 }

    举例:泛型应用中的构造方法

     1 package com.feimao.a1;
     2 
     3 class Point <T>{
     4 
     5     private T var;
     6 
     7     public Point(T var){
     8 
     9         this.var = var;
    10 
    11     }
    12 
    13     public void setVar(T var) {
    14 
    15         this.var = var;
    16 
    17     }
    18 
    19     public T getVar() {
    20 
    21         return var;
    22 
    23     }
    24 
    25 }
    26 
    27 public class GenenicsDemo01 {
    28 
    29     public static void main(String args[]){
    30 
    31         Point<String> p = new Point<String>("feimao");
    32 
    33         System.out.println("内容 :" + p.getVar());
    34 
    35     }
    36 
    37 }

    举例:多个泛型

     1 package com.feimao.a1;
     2 
     3 
     4 
     5 class Notepad<K ,V>{
     6 
     7     private K key;
     8 
     9     private V value;
    10 
    11     public void setKey(K key){
    12 
    13         this.key = key;
    14 
    15     }
    16 
    17     public void setValue(V value){
    18 
    19         this.value = value;
    20 
    21     }
    22 
    23     public K getKey(){
    24 
    25         return key;
    26 
    27     }
    28 
    29     public V getValue(){
    30 
    31         return value;
    32 
    33     }
    34 
    35 }
    36 
    37 public class GenenicsDemo02 {
    38 
    39     public static void main(String args[]){
    40 
    41         Notepad<String , Integer> n = new Notepad<String , Integer>();
    42 
    43         n.setKey("肥猫");
    44 
    45         n.setValue(28);
    46 
    47         System.out.println("姓名: " + n.getKey());
    48 
    49         System.out.println("年龄: " + n.getValue());
    50 
    51     }
    52 
    53 }
    54  
  • 相关阅读:
    线程的异常捕获与线程池的异常捕获
    设计模式-状态模式
    老王讲自制RPC框架.(四.序列化与反序列化)
    老王讲自制RPC框架.(三.ZOOKEEPER)
    老王讲自制RPC框架.(二.动态代理)
    4
    3
    2
    1
    前言
  • 原文地址:https://www.cnblogs.com/feimaoyuzhubaobao/p/9919795.html
Copyright © 2011-2022 走看看