(1)类和对象的关系
类是一类共性的产物;对象是类的一个实例,也可以说是类是对象的模板,对象是类的实例。
(2)类的使用
类的属性一般要用private权限进行封装,然后通过getter,setter方法得到值。
类创建对象保存在栈内存中,对象实例化保存在堆内存中,用关键字new来实例化,有几个new就有几个内存对象。如果只创建对象没有用new来实例化,而是用引用值传递的话那么不会创建新的内存对象。
类在使用时一定要实例化,要不会出现空指针异常。
(3)垃圾回收机制gc
有些存在在堆空间的对象长时间不用就会变成垃圾。 java中垃圾回收机制会自动的回收堆空间中不用的内存对象,然后进行释放,从而来恢复内从空间。
(4)String类
String类两种实例化方式,一种是直接赋值String str1 = ''hell'';另种是用new来创建String str2 = new String("hello");不过一般情况下用第一种,因为可以节省堆内存的空间。比如String str3="hello"; str3==str1就成立,因为str3没有开辟新的对象空间,而是在堆内存中找到有没有hello这个字符串的地址,但是str3只能用equals和str2相等即值相等、对象不相等,因为引用的不是同一对象,对应的值没有存在同一内存空间中。
String字符串内创建后不改变。例如String str1 ="hello"; str1 = "hello"+" world";虽然str1的值不一样了,但是hello这个内存对象还是存在的,因为字符串改变的仅仅是其对应的地址而已,也就是str1从原来对应的hello这个地址改变为hello world中,其中堆空间中有三个内存对象:hello、world、hello world。