楼上的说的太详细了吧!是不是看的你有些晕了??
java类型和java Objec类型的区别:
JAVA所有的类都默认继承字类Object(即包java.lang.object),包括你自己创建的类。
Boolean,Integer,Long,Double是java.util包中宏中陵的类,它们是boolean,int,long,double想对应的包装类用以产生对应的对象。
后着称基本类型,创建后置于stac(堆栈)k中,存取速度很快,而其他引用对象创建后置于heap(堆)中,速度没有堆栈快。创建方法培兆不同:
int i = 1;//此创建了一个基本类型的int对象。
Integer integer = new Integer();//此蔽戚创建了一个Integer包装类的引用,在内存中的位置不同。
类似的还有char和Character、float和Float、short和Short、byte和Byte。你要记得前者用于产生对象的引用,而后者直接产生一的基本类型的数据。
boolean,int,long,double 是简单数据类型
Boolean,Integer,Long,Double这个叫包装类
Java的包装类
所谓包装类,就是可以直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。
Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,从字面上我们就可以看出它们分别对应于 boolean、char、int、long、float和double。而String本身就是类。所以也就不存在什么包装类的概念了。
1.2.3. 基本类型、封装器及其互换
1.2.3.1. 整型、实型、字符型变量中的相互转换
在Java中整型、实型、字符毁隐知型被视为同一类数据,这些类型由低级到高级分别为(byte,short,char)??int??long??float??double,低级变量可以直接转换为高级变量,例如,下面的语句可以在Java中直接通过:
byte b;
int i=b;
而将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式:
int i;
byte b=(byte)i;
可以想象,这种转换肯定可能会导致溢出或精度的下降,因此我们并不推荐使用这种转换。
浮点数的赋值是带有小数点的数字缺省是double型的,如果在浮点数后面加f或者F则是float,后面加d或者D则是double,科学计数法形式的浮点数也是double型的,而double的精度比float高,将一个高精度的double赋值给一个低精度的float时需要进行强制类型转换,纤消反之则不需要。
float f = 11.1;(是错误的)
1.2.3.2. 简单类型变量和包装类之间的相互转换
简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:
Boolean(boolean value);
Character(char value);
Integer(int value);
Long(long value);
Float(float value);
Double(double value)
而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。利用这种方法,也可以实现不携指同数值型变量间的转换,例如,对于一个双精度实型类,intValue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量。
一看就知道你没怎么看基础书,隐燃boolean,int,long,double属于基本类型,Boolean,Integer,Long,Double 是这些基本类型的包装器类,因为java都纯面向对象的语袭扮言,很多java库中的类操作的参数都是对象,所以需要把这些基本类型包装成对灶禅虚象。猪,分给我 多看点书
boolean,int,long,double 是简单数据类型
Boolean,Integer,Long,Double是封装简单类者信埋型的封装类
为什么首字母大写 这是java的编码规范了 类名首字母大写
一首蚂个好的程序坦唯员应该遵守java编码规范的 OBject是所用类的父类
for example
当我们定义一个类时
public class Person {
}
其实是这样的
public class Person extends Object {
}
建议你看看java编码规范这本书
睁拆JAVA所有的类都默孙早腊认继承字类Object(即包java.lang.object),包括自己创建的类。
Object类是所有Java类的祖先。每个则滑类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。