面试官问我这两个问题的时候,我完全是懵的。。
感觉很明显的答非所问,估计跑被刷了,请问到底该怎么说。。。
在java中,new用来开辟堆内存,又叫初始化,一般情况下,对象创建好后,都需要用new进行实例化;
不用new通常在单例模式中可见,对象在类里面创建,构造函数用private修饰,外面不能创建对象,只能调用内部方法静态方法,即对象的初始化在创建对象时已经完成。
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
不一定要new 创建对象的方式不仅仅只有new
new是初始化一个对象并为该对象分配内存空间,你要使用一个从来没有出现过的对象,就得用new来生成这个对象的引用。而面向对象可以理解为一件事是让谁来做,强调的是'谁'这个对象,面向过程可以理解为这件事应该怎么去做,强调的是过程
我觉得应该是问实例创建的相关问题吧
"new"其实是JAVA编译器在堆中开辟一个区域初始化实例的语法规定。
比如其他语言C++/cli 用 "gcnew" ,c#也用new ,是一个道理。
面向对象是为了使编程更加遵循客观事物,符合人的思想逻辑,还有代码重用,开闭原则等需求。
比如 “车” ,是对象。
”人开车“是面向过程。
“车被开动了”是面向对象。