您的位置:首页 > 其它

泛型子类_属性类型_重写方法类型

2017-03-23 14:21 232 查看
package cn.Douzi.gen02;

/*
* 泛型父类
* 1. 如果父类是泛型类,子类只能是泛型子类, 保留父类的泛型
* 2. 不保留父类泛型 ---> 子类按需实现即可
* 3. 子类方法的类型 --> 随父类而定
*
* 4. 子类重写方法的类型 --> 随父类而定
* 5. 子类使用父类的属性 --> 随父类而定
*
* 6. 子类新增方法的类型 --> 随子类而定
* 7. 子类中使用自己的属性 -->随子类而定
*
* 8. 属性及方法 类型 --> 随位置而定
*/
public abstract class Father<T1, T2> {
T1 age;
public abstract void test(T2 name);

}

//保留
//1)、全部保留
//2)、部分保留
//不保留
//1)、具体类型
//2)、没有类型 擦除 Object

//如果父类保留, 子类也保留 --> 泛型子类
class C1<T1, T2, A, B> extends Father<T1, T2> {

A Sex;

@Override
public void test(T2 name) {
// TODO Auto-generated method stub
//        this.age -- > T1, 随父类
}

public void test2(T1 a) {

}
}

class C2<T2, A, B> extends Father<Integer, T2> {

@Override
public void test(T2 name) {
// TODO Auto-generated method stub
//        this.age --> Integer
}
}
//泛型只针对引用类型
class C3 extends Father<Integer, String> {

@Override
public void test(String name) {
// TODO Auto-generated method stub
//        this.age  --> Integer
}

}
class C4 extends Father {

@Override
public void test(Object name) {
// TODO Auto-generated method stub
//        this.age --> Object
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐