Java基本数据类型及其封装类
基本数据类型 | 大小(字节) | 默认值 | 封装类 |
---|---|---|---|
byte | 1 | (byte)0 | Byte |
short | 2 | (short)0 | Short |
int | 4 | 0 | Integer |
long | 8 | 0L | Long |
float | 4 | 0.0f | Float |
double | 8 | 0.0d | Double |
boolean | — | false | Boolean |
char | 2 | \u0000(null) | Character |
注明 boolean类型单独使用4个字节,在数组中又是一个字节。(关于这个问题在官方中并没有给出具体的解释只是解释了在虚拟中会吧boolean类型解析为int数据来替代,而boolean数组将会被编码成java虚拟机的byte数组)
基本数据类型的储存空间是不变的。这种不变性也是Java可以移植性的原因。
基本数据类型放在栈中,直接储存值
所有数值都有正负号没有无符号的数据类型。
为什么需要封装类
官方说法:因为泛型类包括预定义的集合,使用的都是对象类型,无法直接使用基本数据类型,所以Java又提供了这些基本数据类型的封装类。
简单理解:封装类就是一个类,说白了就是把属性和方法归到一个类中。而基本数据类型,没有任何的方法就是为了让我们在程序中做一些普通操作更方便。但是封装类就和前面提到的封装概念是一样的说白了更安全,但是要注意封装类和基本数据类型是不同的基本数据类型是在栈中创建的的封装类是在堆中创建的。同样堆能获得更大的空间。
基本数据类型和封装类的区别
1.基本数据类型只能按值传递,而封装类按引用传递
2.基本数据类在栈中创建,而对于对象类型(封装类)在堆中创建,对象的引用在栈中创建,基本数据类型由于在栈中创建所以运行效率很高,但是可能存在内存泄漏的问题。
如果main方法被声明为private会怎样
能正常编译,但运行的时候提示“main方法不是public的”。在idea中如果不用public修饰,则会自动去掉可运行的按钮。
说明一下public static void main(String args[])这段声明每个关建字的作用
public : main 方法是Java程序运行时调用的第一个方法,因为它必须对Java环境可见。所以可见性设置为public.
static : Java平台调用这个方法时不会创建这个类的一个实例,因此这个方法必须声明static。
void : main方法没有返回值。
String是命令行传进参数的类型,args是指令行进的字符串数组。