170304

来源:互联网 发布:java安全框架权限管理 编辑:程序博客网 时间:2024/06/04 19:46
 1625-5 王子昂 总结《2017年3月4日》 【连续第154天总结】
A.    Java 继承 60%
B.    有时需要将int这样的基本类型转换为对象。所有的基本类型都有一个与之对应的类,Integer,Long,Float,Double,Short,Byte,Character,Void和Boolean,前六个派生于公共的超类Number。
        通常,这些类称为包装器。对象包装器类是不可变的,因此一旦构造便不允许更改其中的值。同时包装器类还是final,因此不能派生子类。
        假设想定义一个整形数组列表,而尖括号中的类型参数不允许是基本类型,这时就应该使用Integer对象包装器类。eg: ArrayList<Integer> list= new ArrayList<>();
        注意:由于值分别被包装在对象中,因此ArrayList<Integer>的效率远低于int[]。因此,应该用它构造小型集合,因为程序员操作的方便性要比执行效率更加重要。
        当使用list.add(3)时,系统将会自动把它变换为list.add(Integer.valueOf(3));这种变换被称为自动装箱。
        同样的,当一个Integer对象被赋值给一个int值时,也会自动拆箱。
        在很多时候,容易有一种基本类型与它的对象包装器是一样的的假象。只是==运算符的结果不用。另外,==运算符在对于对象时一般比较的是引用的地址。因此Integer A=1000;Integer B=1000;A==B的结果是False。
         注意:Java跟Python一样,把常用的值保存在固定的地址中,所有值为它们的对象变量都是同一个变量的引用。常用的值是:boolean,byte,char<128,在-128到127之间的short和int。因此,Integer A=100; Integer B=100; A==B的结果是True
        printf可以接受任意数量的参数调用,这是怎么做到的呢?通过变参(参数数量可变的)方法:public PrintStream printf(String fmt,Object... args)
        这里的...表示这个方法可以接受任意数量的对象。
C.    明日计划
Java 继承
0 0
原创粉丝点击