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