你是如何理解类的
类是一个抽象了的概念,它是一组有具有相同属性的集合,但又不只是只有一组有相同属性的集合,它是一组具有共同特性的抽象的集合,不是说随便的把几个基本类型放到一起了就叫做类,需要去考虑,这组数据或者行为,放到一起了,要有一定的意义,比如,你可以抽象出一个汽车的所有的属性,把它写成一个类,而不是说,定义几个int,几个long,然后在定义一个汽车的对象,一组无意义的属性,定义成了一个组合,这样没有任何意义,一般情况也没有必要定义为一个类(至少我没有见过),在抽象了的基础上,定义的类,对于以后的操作,才有实际的意义。
你是如何理解一个对象的
首先要区别的是对象和对象的引用,比如A是一个类类型,那么A a = new A()里面存在两个内容,首先是a,它是一个对象的引用,而费对象本身,这里比较容易混淆,对象的引用是在程序一级的概念,它是一个标识符,它指向了一个内存空间,而new A则在内存中开辟了一个空间,创建了一个对象。其次要注意的是,原始类型的声明可分配存储器空间,非原始类型的声明不分配存储器空间。也就是说当我们A a的时候,我们只是创建了一个标识符,并没有在内存中创建这个类型的对象,所以这时候使用a,会造成空指针异常,这也是Java语言里的头号异常,当我们new A的时候,编译器为引用在内存中初始化了一片内存空间,创建了一个对象,并把a指向了该内存空间,这时候就可以使用a所指向的对象了。所以我们可以知道如果int a,b;a=2;b=a;则说明a和b在内存中各占了一块内存,两个内容是一样的,都是2。但是如果String a,b;a="test";b=a;则说明,a,b两个引用引用了同一块内存,内容为test,注意的是,如果改变了a的内容,不影响b的取值,因为这里只是把a的引用,引到了另一块内存空间。
列出八个原始类型
逻辑类 boolean
文本类 char
整数类 byte, short, int, long
浮点类 double, float
整数类型 byte 占8字符,short占16,int占32,long占64,float占32,double占64。由此可以知道他们的最大和最小取值。