码迷,mamicode.com
首页 > 其他好文 > 详细

面试(手打手写,待更新loading...)

时间:2018-07-22 16:59:41      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:操作   obj   是什么   buffer   空间   执行   ...   boolean   直接   

1)JAVA基础面试

  1,引用数据类型和基本数据类型的区别是什么?   

  Byte 1  short 2  int 4  long 8       Boolean 1  char 2  float 4   double 8、

  基本数据类型8种,其余都是引用数据类型

  基本数据类型的变量和对应的数据都存放在栈空间中(stack)zhong

  引用数据类型的数据存放于堆空间(heap)中,引用数据类型的变量存在于栈空间中。

  2,给一个String变量赋值,有哪些方式,区别是什么?

String s1 = "king";
String s2 = "king";
System.out.println(s1==s2);     //true

String s3 = new String("king");
String s4 = new String("king");
System.out.println(s3==s4);   //false

String s5 = "king";
String s6 = new String("king");
System.out.println(s5==s6);  //false

String s7 = "king";
String s8 = "ki" + "ng";
System.out.println(s7==s8); //true

String s9 = "king";
String s10 = "ki" + new String("ng");
System.out.println(s9==s10);
String s1 = new String(“king”);    //堆空间中1个hello字符串,如果此字符串不存在,就复制到常量池中
String s2 = ”king”; //s2直接指向常量池中的hello字符串
String s3 = s1;   //s3直接指向s1指向的堆空间

  3,==和equals 的区别?  

    1,对于基本数据类型,只能用==比较其数值大小,而equals()是Object类中的方法,只有引用数据类型才能使用,基本数据类型不能用,

    2,对于引用数据类型,使用==比较的是俩个引用对象的地址是否相同,即俩个引用变量是不是指向同一个对象。

  4,String和StringBuffer的区别?

    String 是内容不可变类,但其指向可以改变,不适合对字符串内容频发操作

    Stringbuffer是内容可以改变的类,适合对字符串内容的频繁操作

   5,StringBuffer和Stringbuilder的区别?

    Stringbuffer是JDK的老类,是线程安全的,可以直接使用在多线程的环境中

    StringBuilder是JDK的新类,非线程安全的,如果在多线程的环境中需要自行加线程同步控制代码

   6,什么是自动拆箱/装箱机制?

      自动拆箱/装箱机制是JDK1.5以后提供的新功能,用于实现基本数据类型和包装数据类型之间的自动转换

Int i=10;
Integer I = i;   //装箱,内部执行 I= new Integer(i);
Int j= I;       //拆箱,内部执行int  j = I.intValue();
int (Integer   int i=1   Integer I = new Integer(i)
//构造方法                
Integer(int     Integer I = new Integer(10);  int I = I.intValue()//intValue()方法
String (Integer       String s =”10”;  Integer I = new Integer(s)          //构造方法
Integer( String       Integer I = new Integer(10);  String s = I.toString()    //toString()方法
String (int       String s =”10”; int I = Integer.parseInt(s);    // parseInt()方法,在项目中常用
int( String        int i= 10;  String s = new String(i);           //构造方法

  7,说明构造方法的特征及作用。

      构造方法的特征是方法名和类名一致,没有返回类型

      构造方法的作用不是创建对象实例,而是用来给新创建的对象进行 参数初始化,而创建对象的操作是由new关键字负责的

      如果当前类存在父类,则会逐级回溯,从上到下依次执行父类的构造方法,最后再执行本类的构造方法。

  8.this和super的用法区别是什么?

    1.this.属性名---访问本类中的属性,如果子类中找不到,则会去父类中继续查找

          super.属性名---直接访问父类中的属性

    2this.实例方法名()---访问本类中的方法,如果子类中找不到,则会去父类中继续查找

          super.实例方法名()---直接访问父类的方法

    3this (参数列表)---调用本类中的其它构造方法,必须放在构造方法的首行

          super (参数列表)---调用父类中的其它构造方法,必须放在构造方法的首行

    4单独使用this表示当前对象,super不能单独使用

      

 

  

    

  

面试(手打手写,待更新loading...)

标签:操作   obj   是什么   buffer   空间   执行   ...   boolean   直接   

原文地址:https://www.cnblogs.com/liang-io/p/9350173.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!