问题简述
什么是类?
什么是实例?
什么是对象?
什么是生成对象?
什么是实例化对象?
分析问题:
在面向对象程序设计中,"类"在实例化之后叫做一个"实例"(Person person = new Person())。
"类"是静态的,不占进程内存,而"实例"拥有动态内存。
实例(instance)和对象(object)的区别:
对象就是类的实例,所有的对象都是类的实例,但并不是所有的实例都是对象。
抽象类被定义为永远不会也不能被实例化为具体的对象。
凡是类生成的对象,分为引用,无动态内存分配;非引用,有动态内存分配:
抽象类生成的对象,不是实例化对象,只是生成对象。此时可以说"生成对象"(无动态内存分配),但是不能说生成"实例化对象"。
就自定义的类而言(非抽象类)生成的对象,有实例化对象(有动态内存分配),也有生成对象(无动态内存分配),此时可以说"实例化对象"(动态内存分配),"生成对象"(无动态内存分配)。