在C++里创建类对象有两种方法:
1 “类型 变量名”, 然后通过”变量名.成员名”来访问对象的成员.
2 “类型 *指针变量名 = new 类型”, 然后通过”指针变量名->成员名”来访问对象的成员
在java里,不能直接声明类的变量。只能用动态分配的方式才可以创建对象。java号称是最安全的语言,估计与这种方式也有关系,因这样所有的对象都是在堆里分配空间,从而避免爆栈的问题.
如有一个java的类名为Animal.
则: Animal a ; //相当于声明出一个Animal *的指针变量, 必须要指向一个动态分配出来的对象才可使用此指针变量
a = new Animal(); //指向一个动态分配出来的对象, 注意没有给构造函数传参数时也需要写”()”
// “a”虽然在java里也是一个指针变量(如果不初始化直接使用时,会报NullPointerException), 但java里从不叫指针变量,叫什么引用(java里没有指针是个谎言啊).
java类对象所有的成员都是通过”对象名.成员名”来访问, 没有->此操作符
java里的public static成员函数也像c++里的静态公有成员, 是通过”类名.函数名()”调用.
java里已集成自动回收资源的功能(有一个专门回收不再使用的资源的线程), 我们只管申请内存空间, 不用管回收。不用担心内存泄露的问题。
因此, java类里有构造函数, 但没有析构函数. 构造函数权限为公有的,也可重载。