Java泛型之泛型接口

package com.study.generics;

import com.study.generics.GenericsImpl;

public class GenericsImplClass01 {
	
	public static void main(String []args) {
		//父类引用指向子类对象
		GenericsImpl<String> generics= new GenericsImplDemo<String>();
		generics.setVar("设置父类引用指向子类对象");
		System.out.println(generics.getVar());
		
		GenericsImpl<String> generics1= new GenericsImplDemo<String>("泛型接口对参数的构造方法");
		System.out.println(generics1.getVar());
		
		GenericsImpl<String> generics2=new GenericsImplBase("接口泛型,类未声明泛型类");
		System.out.println(generics2.getVar());
		
		 
	}
}

class GenericsImplDemo<T> implements GenericsImpl<T>{
	public static String VARIABLE="1";
	private String var;
	
	public GenericsImplDemo() {
		
	}
	public GenericsImplDemo(String variable) {
		this.setVar(variable);
	} 
	 
	public String getVar() {
		return var;
	}
	public void setVar(String var) {
		this.var = var;
	}
}

//此类接口声明了String的参数类型
class GenericsImplBase implements GenericsImpl<String>{
	public static String VARIABLE="1";
	private String var;
	
	public GenericsImplBase() {
		
	}
	public GenericsImplBase(String variable) {
		this.setVar(variable);
	} 
	 
	public String getVar() {
		return var;
	}
	public void setVar(String var) {
		this.var = var;
	}
} 
package com.study.generics;

public interface GenericsImpl<T> {	//泛型接口,T为泛型的参数类型	//接口中定义属性,抽象方法。
	public static String VARIABLE="1";
	public void setVar(String var) ;
	public String getVar();
}

猜你喜欢

转载自zds420.iteye.com/blog/1109906