基本类型与基本类型的包装类型,即生瑜何生亮?——40岁偷练java之内功心法(2)
来源:互联网 发布:王坚 阿里云 哲学问题 编辑:程序博客网 时间:2024/06/05 02:05
java 是完全面向对象的吗?
有人说不是。因为javak中有8种基本数据类型。
java 是完全面向对象的吗?
有人说是。因为,java中的8种基本类型也都有分别对应的包装类型(注:包装类型其实就是咱们平时所说的类类型,只不过为了区分人家是大拿,咱是老百姓,人家头上得写点什么东西以显示与咱们小老百姓的不同)。比如基本类型int有包装类型Integer与之相对,基本类型byte类型有包装类型Byte类型与之相对,当然还有short与Short,char与Character, long与Long,float与Float,double与Double,boolean与Boolean。我把这几个都写出来的原因不是为了耽误大家时间,而是为了方便大家再温习一遍java中的基本数据类型,一定要懂我的心哈。
顺便再提醒一句,基本类型与对应的包装类型形式上一个最重要区别是“大小写”。基本类型是全小写,对应的包装类型是首字母大写。形式上的别一个区别是,chat和int对应的包装类型拼写不同(其它几个拼写都一样)。有人说,如果还是记不住咋办?这个简单。任选一面砖墙,在上面用泥巴画一圈,圈里写上“you get it ?”,然后用头使劲撞一下,然后做如下判断:“am i get it?”,如果答案是否定的,用脑袋goto "you get it?",直到明白了为止。实践证明这个方法操作起来比较可行,效果还是蛮不错的。
当然,这个区别再重要,也只是形式上的。有人说你再不讲点实质的我们就睡着了。java中倒底为什么即有基本类型,还有与之对应的包装类型呢?
所有问这个问题的同志,都是好同志。当然,不问这个问题而自然明白其道理的,那就是天才的好同志。不管您明不明白,关于这个问题我唠叨几句。
1.java为什么要有基本数据类型?
答案:基本数据类型可以放入寄存器,而包装类型不能放入寄存器。为啥呢?谁问这个问题谁先去撞下墙...。64位机的一个寄存器有几个bit?包装类一个对象又要用多少bit呢?是的,对象所占用的不是几个bit的问题,而是几个几十个或几千byte的问题,谁家有那么多寄存器呢?所以包装类型类型不能放在寄存器,只能放在内存。而基本数据类型占的空间很小,是可以话在寄存器中的,所以基本数据类型的存取、运算,那比包装类型快的就不是一星半点了。为了兼顾运算的效率,java当中当然要有基本数据类型。
2.基本类型为什么还要对应包装类型?
答案:因为有时候java中的某些操作只能使用对象,而基本类型不是类类型,不能实例化成对象,所以在某些操作中不能用,因此java就创造出了基本类型的包装类型。举个例子吧,Collection API中的操作对象就必须是对象而不能是基本数据类型。
3.包装类与普通的类类型还有啥区别呢?
答案:包装类都是最终类,即定义前面是有final限定词地,而普通类则不一定是最终类。
看在我辛苦的份上,少骂多顶。看贴不顶,收获是不大地。
学编程如果不懂分析设计与建模,那永远是苦力。《大象-thinking in UML》是迄今为止最好最好最好最好的讲分析设计与建模的好书。http://www.china-pub.com/129881
- 基本类型与基本类型的包装类型,即生瑜何生亮?——40岁偷练java之内功心法(2)
- java基本类型与包装类型
- java基本类型与包装类型
- java基本类型与包装类型
- Java基本类型与包装类型
- java基本类型与包装类型
- java基本类型与包装类型
- java基本类型与包装类型区别
- Java中的基本类型与包装类型
- java基本类型与包装类型区别
- java基本类型与包装类型
- java基本类型与包装类型
- java基本类型与包装类型
- 基本类型与包装类型
- java基本类型的包装
- Java的基本类型和包装类型
- Java基本包装类型
- 基本类型的包装类型
- JS仿flash动态切换(横向,带分页器控制,自动正反向循环轮播)
- 孙卫琴struts的bookstore
- 如何让人家复制自己网站信息自动加上网址,复制页面加上网址特效
- 使用Server.Transfer方法
- Asp中的类设计和使用
- 基本类型与基本类型的包装类型,即生瑜何生亮?——40岁偷练java之内功心法(2)
- 锁的概念
- 四大湖排名问题
- 花了三天时间,加上了动态的卸载,发文祝贺!
- JAVA基础知识精华总结
- U-BOOT下使用bootm引导内核方法
- 学习C++的50条建议
- IIS無法啟動
- LFI2RCE (Local File Inclusion to Remote Code Execution) advanced exploitation: /proc shortcuts