学习java泛型实例

类的使用

父类:Animal
子类:Dog、Cat
测试类:Test01

Animal类

package fanxing;

public class Animal{
    private String name;
	//无参构造方法
    public Animal(){
        super();
    }
	//有参构造方法
    public Animal(String name){
        this.name = name;
    }
	//set方法
    public void setName(String name){
        this.name = name;
    }
	//get方法
    public String getName(String name){
        return name;
    }
	//say方法
    public void say(){
        System.out.println(name);
    }
}

Dog类

package fanxing;

public class Dog extends Animal{
	//继承的无参构造方法
    public Dog(){
        super();
    }
	//继承的有参构造方法
    public Dog(String name){
        super(name);//继承父类有参构造方法,super关键字内要加参数
    }
	//重写父类的say方法
    public void say(){
        super.say();
        System.out.println(getClass().getName());
    }
}

Cat类

package fanxing;

public class Cat extends Animal {
	//继承的无参构造方法
    public Cat(){
        super();
    }
	//继承的有参构造方法
    public Cat(String name){
        super(name);
    }
	//重写父类的say方法
    public void say(){
        super.say();
        System.out.println(getClass().getName());
    }
}

测试类Test01

package fanxing;
//泛型测试
public class Test01 {
	//泛型通配符测试方法
    public static void take(Fanxing<?> f1){
    	f1.print();
    }
    
    public static void main(String[] args) {
        Fanxing<Dog> fd1 = new Fanxing<Dog>(new Dog("你是狗吗?"));
        Fanxing<Cat> fc1 = new Fanxing<Cat>(new Cat("你是猫吗?"));

        Dog d1 = fd1.getT();
        Cat c1 = fc1.getT();

        d1.say();
        c1.say();
        
        take(fd1);
        take(fc1);
    }
}

输出结果

输出结果

总结

1.泛型类的实例域为其他类对象
2.super关键字代替有参方法时,super()内加参数
3.泛型类声明时,只有类名后加<T>
4.泛型通配符为
5.泛型类实例化时,需要加<T>T为实际类型

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值