zoukankan      html  css  js  c++  java
  • java 小结1(static ,final,泛型)

    static,final。

    (1)final:

          final:属于“终态”,意思就是不可以改变。可以修饰非抽象类,非抽象类的方法等。反正就是不能够再改变赋值了。

          注意:1)fina不能被继承,所以它没有子类。

                   2)final不能用于修饰构造方法。

                   3)final方法可以继承,但是不能够被覆盖

                   4)final一旦赋值,便不能更改

                   5)final容器,比如list,容器不能够改变,但是容器里面的内容是可以变化的。

    (2)static:

          static:表示“静态”,“全局”,可用来修饰变量,方法还可以用来形成static代码块。

          被static修饰的的成员或者成员方法是独立于类的,它不依赖于某个实例,是被所有实例所共享的,也就是说,只要这个类被加载,JVM就能根据方法名去运行内存区去寻找它们。

    不需要事先创建实例,

         就这样认为吧,static修饰后的变量,在内存中只有一份拷贝,所有实例都共享这份拷贝,但是如果是实例变量,那么每次创建一个实例便会多创建一份数据。

    static 代码块:

       static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次

     private static final String GOOD = "G";  表示的是说“G”这个字符串在程序中我们可以使用GOOD替换。

    泛型:

    泛型是避免重复的装箱和拆箱 比如集合List<Strunt> studentList=new ArrayList<Student>();
    可以直接往集合里添Student对象
    studentList.add(student1);
    studentList.add(student2);
    ...
    如果是这样List studentList=new ArrayList();
    studentList.add(student1);
    studentList.add(student2);
    那么想要遍历集合就得
    for(Object o:studentList){
    Student oo=(Student)o;//这里需要类型转换
    }
    而上面第一个可以直接
    for(Student o:StudentList){
    o就代表每一个学生的实体了 不需要类型转换便可得到
  • 相关阅读:
    Visual Studio 20**自动添加头部注释信息
    开发使用混合式Winform模块
    java 下拉框级联及相关(转)
    Redhat关闭SELinux和防火墙的办法(转)
    icmp的报文,Destination Host Unreachable
    负载均衡-lvs
    深入浅出交换类排序算法(转)
    单源最短路径(dijkstra算法)php实现
    垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
    oracle递归函数
  • 原文地址:https://www.cnblogs.com/GuoJiaSheng/p/3867963.html
Copyright © 2011-2022 走看看