1.

int[] arr = new int[10]; System.out.println(arr);//地址值?

char[] arr1 = new char[10]; System.out.println(arr1); //地址值?

测试:

public class ArrayPrintTest {

public static void main(String[] args) {

int[] arr = new int[]{1,2,3};

System.out.println(arr);//地址值

char[] arr1 = new char[]{'a','b','c'};

System.out.println(arr1); //abc

}

}

原因:

2.

//面试题:多态是编译时行为还是运行时行为?

//证明如下:

class Animal  {

protected void eat() {

System.out.println("animal eat food");

}

}

class Cat  extends Animal  {

protected void eat() {

System.out.println("cat eat fish");

}

}

class Dog  extends Animal  {

public void eat() {

System.out.println("Dog eat bone");

}

}

class Sheep  extends Animal  {

public void eat() {

System.out.println("Sheep eat grass");

}

}

public class InterviewTest {

public static Animal  getInstance(int key) {

switch (key) {

case 0:

return new Cat ();

case 1:

return new Dog ();

default:

return new Sheep ();

}

}

public static void main(String[] args) {

int key = new Random().nextInt(3);

System.out.println(key);

Animal  animal = getInstance(key);

animal.eat();

}

}

3.

//考查多态的笔试题目:

public class InterviewTest1 {

public static void main(String[] args) {

Base1 base = new Sub1();

base.add(1, 2, 3);

Sub1 s = (Sub1)base;

s.add(1,2,3);

}

}

class Base1 {

public void add(int a, int... arr) {

System.out.println("base1");

}

}

class Sub1 extends Base1 {

public void add(int a, int[] arr) {

System.out.println("sub_1");             //容易混淆

}

public void add(int a, int b, int c) {

System.out.println("sub_2");

}

}

答案:

4.

/*

* 关于包装类使用的面试题

*

*

*/

public class InterviewTest {

@Test

public void test1() {

Object o1 = true ? new Integer(1) : new Double(2.0);       三元运算符 A 和 B 类型能统一成一个类型。这边就类型提升为double

System.out.println(o1);// 1.0

}

@Test

public void test2() {

Object o2;

if (true)

o2 = new Integer(1);

else

o2 = new Double(2.0);

System.out.println(o2);// 1

}

@Test

public void test3() {

Integer i = new Integer(1);

Integer j = new Integer(1);

System.out.println(i == j);//false    不是同一个对象

//Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[],

//保存了从-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在

//-128~127范围内时,可以直接使用数组中的元素,不用再去new了。目的:提高效率

Integer m = 1;

Integer n = 1;

System.out.println(m == n);//true

Integer x = 128;//相当于new了一个Integer对象

Integer y = 128;//相当于new了一个Integer对象

System.out.println(x == y);//false

}

}

5.接口

class C extends B implements A {

System.out.println(x);  编译不通过。因为x是不明确的

System.out.println(super.x);   // 1    (调用父类B中的变量x,可以通过super.x调用)

System.out.println(A.x);   // 0     (调用A类的变量x,此时的A类的变量x是全局常量可以直接通过类.属性调用 )

}

面试易错题 Java的更多相关文章

  1. C/C++程序员面试易错题

    c部分::::::::::::::::::::::::::::::::::: . 关键字volatile有什么含意? 并给出三个不同的例 子. [参考答案]一个定义为volatile的变量是说这变量可 ...

  2. 【笔试题】Java 易错题精选

    笔试题 Java 易错题精选 1.写出下列程序的运行结果( )String 不变性Java 值传递 public class Test { public static void main(String ...

  3. Java五道输出易错题解析(避免小错误)

    收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class Integ ...

  4. Java五道输出易错题解析(进来挑战下)

    转自:http://blog.csdn.net/lanxuezaipiao/article/details/41985243 收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注 ...

  5. 杭电OJ2039——三角形(c++)(易错题:数据类型不确定)

    三角形 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  6. JAVA程序改错 (易错题)

    JAVA程序改错 1. abstract class Name { private String name; public abstract boolean isStupidName(String n ...

  7. java考试易错题大全

    常见的Java问题 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Ja ...

  8. java易错题----静态方法的调用

    class A{ public static String s="A.s"; } class B extends A{ public static String s="B ...

  9. Java易错题(1)

    检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果. public class HelloB extends HelloA { public HelloB() { } { Syst ...

随机推荐

  1. linux下安装redis,按照redis官网安装不成功需要提前安装c++环境(安装成功并可以测试)

    这个安装是一种便捷的安装,没有几句,但是完全按照官网上的来没有安装成功,有前提条件的 打开linux root登录 然后在usr下面建文件夹redis,进入 在该文件加下,直接按照官网的指导进行安装即 ...

  2. Jinja2语法小记

    jinja2模板语法小记 Jinja2模板中文文档 三种常见界定符 表达式 {{ ... }} 用于装载字符串.变量.函数调用等 语句 {% ... %} 用于装载控制语句,比如if判断.for循环等 ...

  3. 这26个为什么,让初学者理解Python更简单!

    为什么Python使用缩进来分组语句? 为什么简单的算术运算得到奇怪的结果? 为什么浮点计算不准确? 为什么Python字符串是不可变的? 为什么必须在方法定义和调用中显式使用“self”? 为什么不 ...

  4. UVALive 4287 SCC-Tarjan 加边变成强连通分量

    还是强连通分量的题目,但是这个题目不同的在于,问你最少要添加多少条有向边,使得整个图变成一个强连通分量 然后结论是,找到那些入度为0的点的数目 和 出度为0的点的数目,取其最大值即可,怎么证明嘛... ...

  5. ProxyPass与ProxyPassReverse及ProxyPassMatch的概述

    转载自:https://blog.csdn.net/xiaokui_wingfly/article/details/51481653 apache中的mod_proxy模块主要作用就是进行url的转发 ...

  6. P 1027 打印沙漏

    转跳点:

  7. sql 左联 右联 内联的区别

    如有表a(col1,col2),a,1b,1 b(col1,col2)a,3c,2 内部联接是指只返回符合联接条件的资料,如select * from a join b on a.col1 = b.c ...

  8. Egret Engine 2D - 遮罩

      矩形遮罩 shp.mask = new egret.Rectangle(20,20,30,50);   注意如果rec发生变化,需要重要将rec赋值给shp.mask 删除遮罩的方法 sprite ...

  9. 浪潮服务器raid5-echo转义说明

    https://jingyan.baidu.com/article/4ae03de3e4c8d33eff9e6bee.html https://wenku.baidu.com/view/3c5dc9a ...

  10. 一小时搞定Eureka

    一.什么是Eureka Eureka是Netflix公司开源的产品,它是一种基于REST( Representational State Transfer )的服务,主要用于AWS云. Eureka提 ...