2018年java面试题大全(整理版)1、面向对象的特征有哪些方面
-抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面
抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么
-继承:继承是从已有类得到继承信息创建新类的过程
提供继承的类叫父类(超类、基类)、得到继承的类叫子类(派生类)
-封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口
可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口(可以想想普通洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简单;我们现在使用的智能手机也是封装得足够好的,因为几个按键就搞定了所有的事情)
-多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应
简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情
实现多态需要做两件事:1)
方法重写(子类继承父类并重写父类中的方法);2)
对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)2、访问修饰符public,private,protected,以及不写(默认)时的区别
修饰符当前类同包子类其他包public√√√√protected√√√×default√√××private√×××3、String是最基本的数据类型吗
Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitivetype)和枚举类型(enumerationtype),剩下的都是引用类型(referencetype)
4、floatf=3
4;是否正确
4是双精度数,将双精度型(double)赋值给浮点型(float)属于