Java8种基本数据类型及其相关
8种基本数据类型:int,short,long,boolean,byte,float,double,char
每种数据类型所占字节:
int:4个字节;short:2个字节;long:8个字节;float:4个字节;
double:8个字节;boolean:看实际情况;byte:1个字节;char:2个字节
除了基本类型和枚举类型,其他的都是引用类型。
内存中栈(stack)、堆(heap)、和静态去(static area)的用法
通常我们我们定义一个数据类型的变量,一个对象的引用,还有函数调用的现场保存都是使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、"hello"和常亮都放在静态区。栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理论上整个内存没有被其他进程使用的空间甚至磁盘上的虚拟内存都可以当做堆空间来使用。
String str = new String("hello");
str放栈,用new出来的字符串对象放堆上,而"hello"这个字面量放在静态区
构造器constructor是否可以被重写(override)?
构造器不能被继承,因此不能被重写,但可以被重载。(构造器也是一个方法,构造器名就是方法名,构造器参数就是方法参数,而它的返回值就是新创建的类的实例。但是构造器却不可以被子类重写,因为子类无法定义与基类具有相同型构的构造器。)