class与泛型的简单应用 , 以及final与static final的区别

  1. 计数器类
package sky.java.clazz;
public class Count {
    // static 修改count , 使其在常量池中仅有一份.
    private static long count;
    // final修饰变量 , 则其不可修改. 因为count是确定的一个值. 执行完毕后++.
    private final long id = count++;
    @Override
    public String toString() {
        return Long.toString(id);
    }
}
  1. 泛型反射类的应用
package sky.java.clazz;
import java.util.ArrayList;
import java.util.List;
public class Adapter<T> {
    private Class<T> type;
    private Adapter(Class<T> type) {
        this.type = type;
    }
    public void set(int length) throws IllegalAccessException, InstantiationException {
        List<T> list = new ArrayList<>();
        for (int i = 0; i < length; i++) {
            list.add(type.newInstance());
        }
        System.out.println(list);
    }
    public static void main(String[] args) throws InstantiationException, IllegalAccessException {
        Adapter<Count> adapter = new Adapter<>(Count.class);
        adapter.set(10);
    }
}

static final 与 final 的区别 . 参考如下链接 , 即可
https://www.cnblogs.com/qducn/p/6140492.html

  1. 类型转换的几种方式
package sky.java.classcast;
public class CastTest {
    /**
     *  类型转换方式
     *      1. 传统转换 -> 强转
     *      2. class转换 , 如下
     *      3. instance 关键字
     *
     */
    public static void main(String[] args) {

        Parent p = new Child();
        Class<Child> c = Child.class;
        Child c1 = c.cast(p);
        System.out.println(c1);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值