从Object对象中封装了其它对象,怎样取出
答案:2 悬赏:20 手机版
解决时间 2021-03-04 03:02
- 提问者网友:火车头
- 2021-03-03 13:38
从Object对象中封装了其它对象,怎样取出
最佳答案
- 五星知识达人网友:woshuo
- 2021-03-03 14:30
1.object没有封装对象,他只是封装了一些方法,供继承他的类调用。又由于所有类都继承于object,所以所有类都可以调用object的方法.String也是,他封装了一些方法,如substring,indexof等 2.String 初始化之后和实例化的区别 其实实例化也是初始
全部回答
- 1楼网友:山河有幸埋战骨
- 2021-03-03 14:54
1.object没有封装对象,他只是封装了一些方法,供继承他的类调用。又由于所有类都继承于object,所以所有类都可以调用object的方法.string也是,他封装了一些方法,如substring,indexof等
2.string 初始化之后和实例化的区别
其实实例化也是初始化,但我想你问的应该是string a="abc";和string a=new string("abc");的区别吧.
string a="abc"意思是:
a.去常量池里查找有没有"abc"这个字符串
b.如果有就让a指向,如果没有就创造出"abc"这个字符串,把他放入常量池。
c.然后a指向abc这个字符串
string a=new string("abc");意思是:
a.创造出new string("abc")这个对象
b.把"abc" 这个对象入入常量池
c.再创造出a这个对象(变量),指向new string("abc")这个对象。
3. string a="abc";string b="abc";string c=new string("abc");string d=new string("abc");
用==比较时是比较string的对象的引用(指向) c==d显然是不同对象(如果你看懂了前面的话)。所以是false
注意此时的a==b,string a="abc";已经先把"abc"放入了常量池。string b="abc";发现有这个abc了。所以b指向了a已经指向的这个字符中, 换句话说,此时a和b的引用是一样的。所以此时a==b是true
4.string是个常量,当你string a="abc";a="def"后。"abc"还是在内存里的。因为他是放入常量池的。如果不能理解的话可以以后理解。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯