找大厂面试题,看套路!Java面试题及答案及面试解析

95272022-01-12 15:43

  说到找工作,你认为现在最重要的事情是什么?当然找大厂面试题,看套路!以下面试题就是小编为大家准备的,希望对大家有用!

找大厂面试题,看套路!Java面试题及答案及面试解析

  1.面向对象的特征是什么?

  答:面向对象的特征主要包括以下几个方面:

找大厂面试题,看套路!Java面试题及答案及面试解析

  抽象:抽象是总结一类对象共同特征的结构过程,包括数据抽象和行为抽象。抽象只关注对象的属性和行为,而不关注这些行为的细节。

  继承:继承是从现有类别中获取继承信息并创建新类别的过程。提供继承信息的类别称为父类(超级类别。基本类别);获得继承信息的类别称为子类(衍生类别)。继承使变化中的软件系统具有一定的连续性,继承也是包装程序中可变因素的重要手段(如果您不能理解,请阅读严宏博士的Java模式或设计模式解释中的桥梁模式)。

  封装:一般认为封装是将数据和操作数据的方法绑定起来,数据的访问只能通过定义的界面进行。面向对象的本质是将现实世界描述为一系列完全自治和封闭的对象。我们在类中编写的方法是实现细节的封装;我们编写的一类是数据和数据操作的封装。可以说封装是隐藏一切可以隐藏的东西,只为外界提供最简单的编程接口(可以考虑普通洗衣机和自动洗衣机的区别,显然自动洗衣机封装更好,所以操作更简单;我们现在用的智能手机封装得足够好,因为几个按钮就能搞定一切)。

  多态性:多态性是指允许不同类型的对象对同一消息做出不同的响应。简而言之,它使用相同的对象来引用相同的方法,但做不同的事情。多态性分为编译时的多态性和操作时的多态性。如果将对象的方法视为对象向外界提供的服务,则操作时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统提供的服务方式有很多,但一切对A系统都是透明的(就像电动剃须刀是A系统一样,它的供电系统是B系统一样,B系统可以使用电池供电或交流电,甚至太阳能。A系统只通过B类对象调用供电方式,但不知道供电系统的底层实现是什么,以及如何获得动力)。方法重载(overload)实现编译时的多态性(也称为前绑定),方法重写(overide)实现运行时的多态性(也称为后绑定)。运行时的多态性是对象最重要的本质:1)。根据不同类型的方法重写父类型中的不同类型的行为。

  2.访问修饰符public、private、protected以及不写(默认)时的区别?

  答:

  当类别成员不写访问修改时,默认为default。默认情况下,同一包中的其他类别相当于公开(public),而不是同一包中的其他类别相当于私有(private)。受保护的(protected)相当于对子类公开,对于同一包中没有父子关系的类别。在Java中,外部修饰符只能是public或默认的,类成员(包括内部)的修饰符可以是以上四种。

  3.String是最基本的数据类型吗?

  答:不是。Java中只有8种基本数据类型:byte.short.int.long.float.double.char.boolean;除了基本类型(primitivetype),其余都是引用类型(referencetype),Java5后引入的枚举类型也是一种特殊的引用类型。

  4.floatf=3.4;正确吗?

  答:不正确。3.4是双精度数。将双精度型(double)赋值浮点型(float)属于下转型(down-casting,又称窄化)会造成精度损失,因此需要强制转换floatf=(float)3.4;或者写floatf=3.4F;。

  5.shorts1=1;s1=s1+1;有错吗?shorts1=1;s1+=1;有错吗?

  答:shorts1=1;s1=s1+1;因为1是int类型,s1+1的运算结果也是int类型,需要强制转换类型才能赋予short类型。shorts1=1;s1+=1;由于s1+=1.可以正确编译;相当于s1=(short)(s1+1);有隐含的强制性类型转换。

  示例代码如下:

前者有错,s1会自动提升为int类型,结果赋值给short类型,所以报错。
后者无错,+=这种赋值运算符隐含了强制类型转换。其实变量s1的值未被使用。
 
public class Test {
    public static void main(String[] args) {
        System.out.println(Math.round(11.5));    // 12
        System.out.println(Math.round(-11.5));   // -11
 
        // short s1 = 1; 
        // s1 = s1 + 1; // Type mismatch: cannot convert from int to short 类型不匹配:不能从int转换为short
 
        short s1 = 1; // The value of the local variable s1 is not used 局部变量s1的值未被使用 出现了警告
        s1 += 1;
    }
}

  以上就是小编为大家整理发布的“找大厂面试题,看套路!Java面试题及答案及面试解析”一文,更多相关内容尽在开课吧广场Java面试频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享

相关文章

全部评论(共 1 条评论)
登录 后可发表观点…
发表
  • 萧洵
    谢谢老铁分享
    2022-01-13 09:46:08
高并发编程训练营