站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题昨天去一个外资软件公司的面试题目

昨天去一个外资软件公司的面试题目

摘要: 昨天去一个外资软件公司的面试题目


1.对象与实例到底什么区别呢?
2.java中所有的类都继承了java.lang.Object 类,而在C++中没有像java.lang.Object 这样的类,
这是为什么呢?都是面向对象,java这样做有什么好处呢?


实例是在栈内存中 对象是在堆内存中 java是纯的面向对象语言



1 、 对象和实例没有区别,是同一种东东的不同叫法。
2 、 因为万事万物都具有一些共同的特征,在 java 里将这些特征抽象出来做成 Object , 这样在解决问题时更加直观,方便。


UP


class既是object, object即是类


同意


对象不一定初始化,实例必然初始化了


Java中有java.lang.Object 的主要目的是为了实现一些松耦合的设计,比如你不知道另外一个返回什么样类型的对象或值,但是你还要用这个对象或值,那你就可以将变量声明为java.lang.Object 类型,肯定不会报错,呵呵,这样就达到了松耦合的目的,也符合了LSP(里氏替换原则),大多数的设计模式都是应用了这一原则,建议看看《Java与模式》有比较深入的讲解。


1.对象与实例到底什么区别呢?
object和instance~ msdn上从来没有去区分过,看作者心情,他喜欢写哪个就写哪个。

2.java中所有的类都继承了java.lang.Object 类,而在C++中没有像java.lang.Object 这样的类,这是为什么呢?都是面向对象,java这样做有什么好处呢?
C++有什么优势, 指针那, 不要忘了。 一个指针可以指向任何的对象,结构,基本类型,函数。 但是java行吗? 所以JAVA用Object类的引用来指向所有类的对象。 (但是java没有对象能指向函数)


对象包含木有实例化的东东吧


同意政委的



对象类和实例,怎么是一回事呢?
对象应该包含实例的吧?
某抽象类和接口类也是对象,但是却不能实例哇

小弟理解力不上档次,继续看高手指点


我也同意政委的



第二种同意sozdream()


确实来说,对象和实例并没有本质上的区别,
对象就是把某一个物体实例化了,
而实例则是对象表现的一种形式而已


java 中的实例是在栈内存中 对象是在堆内存中!至于java.lang.Object 类 就好像 哲学中所说的“世界”!


一个概念没有实在之前是对象 实在之后就是实例
我个人认为并不是所有的概念都能实在化(而且现在有人为的规定一些概念不能实在化(我个人认为是历史的局限性)) 所以对象和实例还是有一定的区别




收藏


同意楼上的说法,在java的内存分配中,对象和实例是不同的,前者分配在内存堆里,后者分配在堆栈里,至于为什么要这样分,参考一下其他的资料。对象是不变的东西,它是对客观事物的抽象,实例是对操作对象的引用,你不能直接操作对象。
2.java中所有的类都继承了java.lang.Object 类,而在C++中没有像java.lang.Object 这样的类,这是为什么呢?都是面向对象,java这样做有什么好处呢?
java采用的是单根结构,所有的类都继承了java.lang.Object 类,对于java这种纯面向对象的语言来说,这种设计具有很多灵活性,比如对垃圾收集来说很有利,所有的类都具有java.lang.Object 类具有的方法等等,C++没有更多的是为了向后兼容吧,向C兼容,满足它设计上最大的灵活性



这也不是什么好的问题?


1.对象与实例到底什么区别呢?
在Java设计里,对象是对客观事物的抽象,实例是一个具体的客观事物。

2.java中所有的类都继承了java.lang.Object 类,而在C++中没有像java.lang.Object 这样的类,这是为什么呢?都是面向对象,java这样做有什么好处呢?
C++的特点是指针,一个指针可以指向任何的对象,结构,基本类型,函数。
Java没有指针类型,所以Java用Object基础类的共同特征来实现所有对象类型之间的转换。


同意正痿的


对象和实例在内存中位置不同,平时说起来对象的外延要大于实例。
java和C++的重要区别之一就是java只支持单继承,只能有一个父类,而c++支持多继承,这样java的语法较C++简单明了,java可以通过接口来实现多继承的用法。


在Java设计里,对象是对客观事物的抽象,实例是一个具体的客观事物。
-------------------------
对象是对客观事物的抽象,那类呢?对象就是类的实例么?Java里面对象和实例有什么区别?我看所有资料里面都是两者混用!


c++并不是纯面向对象的,还要兼容c ,MFC就有Cobject的概念。
另外楼主所说的的对象应该就是java.lang.Object吧,对象分布在java栈区,而对象的实例分布在堆区。


1.对象与实例到底什么区别呢?
答:对象和事例从宏观的角度看的区别是:对象是同类事物的一个抽象表现形式,而实例是对象的具体话,一个对象可以势实例化很多实例,对象就是一个模型,实例是照着这个模型生产的最终产品.实际上就是这样,一个对象可以实例化N个实例.就象根据一个模型可以制造多个实际的产品一样.
从内存分配的角度来看:对象是保存在堆中的,而实例是存储在栈中的,实例其实只是对象的一个引用,也就是指向对象的指针.
2.java中所有的类都继承了java.lang.Object 类,而在C++中没有像java.lang.Object 这样的类,
这是为什么呢?都是面向对象,java这样做有什么好处呢?

以便充分体现了继承的好处,如*^*&%&^&*^





我的理解是这样的,举个例子:
Plane fp;
fp=new Plane();
第一句只是一个对象的声明,明白没有被实例化,存放在栈中,
第二句才是生成一个对象的实例,存放在堆中




继续讨论!支持!


up


↑返回目录
前一篇: 新手,请指教!谢谢
后一篇: 本人是java初学者,求大侠们帮忙解决一个小问题!