美文网首页
02.Android面试题

02.Android面试题

作者: Jsonzhang | 来源:发表于2018-03-08 14:07 被阅读23次
1. 下面的代码共产生了几个对象?

String s1 = new String("abc");
String s2 = "abc";
String s3 = new String("abc");

答案:
如果字符串池中已经存在"abc",那么就会产生2个对象,就是new出来的s1和s3;如果字符串池中没有"abc",那就会产生3个对象,new出来的对象s1和s3还有新创建的"abc"。

知识储备:
JVM中有一个全局共享的字符串池,里面承载的就是像String s = "abc"这样的对象。比如String s = "bcd";这个过程程序会先检查字符串池中有没有"bcd"这个对象,如果有直接将"bcd"对象的引用指向变量s。如果没有则先回创建"bcd"对象,然后存入字符串池中,然后再将它的引用指向变量s。

衍生问题:

  1. String s = "ab" + "cd" ; 创建几个对象?s存放在哪里?
  2. String s = "ab" + new String("cd") ;创建几个对象,s存放在哪里?
  3. String temp = "ab";
    String s1 = temp + "cd";
    String s2 = "abcd";
    s1==s2 ? false

问题1 我觉的需要考虑字符串常量池中是否已经存在"ab" 和 "cd",如果已经存在,这个问题答案就是创建一个对象,创建的就是"abcd"这个对象,然后再去判断字符串常量池中是否有"abcd",如果有就不会再将"abcd"加入字符串常量池,如果没有就会将"abcd"加入到常量池。

2. Activity和Fragment的startActivityForResult()方法有什么区别?

在Fragment中可以直接调用startActivityForResult()或者getActivity(). startActivityForResult(),前者是Fragment自己的方法后者是Activity的方法。
startActivityForResult() :
在Fragment和Activity中的onActivityResult()方法中都能收到回调,只是在Activity中的onActivityResult()中的requestCode和启动是传入的requestCode对应不上。
getActivity(). startActivityForResult():
这种方式只能在Activity的onActivityResult()中收到回调。

3. 说说overload和override的区别,overload能否改变返回值的类型?

overload重载是在同一个类中,出现多个重名的方法,形参列表不同即可(参数个数或类型不同),与返回值类型无关。
override重写是子类对父类的方法重写编写语句块,发生在子类。形参、返回值类型、方法名都必须一样。

4. b的结果是什么?
int x = 20,y = 30;
boolean b;
b =x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50 &&y<-60;

结果是false,这个题的考点是&&的优先级高于||
b = true || true && false;
从上面可知,如果同级那结果为false,但是运行结果是true,说明&&的优先级更高。

相关文章

  • 02.Android面试题

    1. 下面的代码共产生了几个对象? String s1 = new String("abc");String s2...

  • 02.Android之IPC机制问题

    目录介绍 2.0.0.1 什么是Binder?为什么要使用Binder?Binder中是如何进行线程管理的?总结b...

  • 面试材料

    面试经验 面试题1 面试题2 面试题3 面试题4 面试题5 面试题6――数据结构 面试题7――网络 面试题8――汇...

  • 高阶面试题

    webpack面试题 面试题:webpack插件 Git面试题 面试题:git常用命令 面试题:解决冲突 面试题:...

  • this的指向的面试题

    面试题1 面试题2 面试题3 面试题4

  • 面试所涉及的问题

    面试题参考1 : 面试题 面试题参考2 : 内存管理 面试题参考3 :面试题 ...

  • Android超实用最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • Android最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • 02.Android Studio中使用SVN相关

    1、换一个工作后,可能你的电脑已经用过svn,怎样删除别人的账号,用自己的账号? 进入c:/Users/[你的用户...

  • 2022年web前端面试题

    web前端面试题分为:html/css面试题、javascript面试题、vue面试题、性能优化面试题、网络方面面...

网友评论

      本文标题:02.Android面试题

      本文链接:https://www.haomeiwen.com/subject/bvmefftx.html