概述
每天十道面试题,加油打卡
1、面向对象的特征
- 封装
把数据和操作的方法绑定起来,对数据的访问只能通过已定义的接口。 - 继承
从已有类得到继承信息创建新类的过程。 - 多态
用相同的对象引用调用同样的方法但做了不同的事。
多态分为编译时多态(方法重载,overload)和运行时多态(override)。
实现多态需要:
1、方法重写(子类继承父类并重写父类中已有的或者抽象方法)
2、对象造型(用父类型引用子类对象) - 抽象
将一类对象的共同特征总给出来构造类的过程,包括数据抽象和行为抽象两方面,只关注对象的属性和行为,不关注细节。
2、访问修饰符public,private,protected,以及默认的区别
- 类的成员不写修饰符时默认为default。
- 默认对于同一个包的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。
- 受保护(private)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。
3、String是最基本的数据类型么
不是,String属于应用数据类型
- Java中基本数据类型只有8个:byte,short,int,long,float,double,char,boolan;
- 除基本类型外和枚举类型,剩余都是引用类型(类,对象,接口等)
4、float f = 3.4; 是否正确
不正确;3.4为双精度数
- 这里是双精度型(double)赋值给浮点型(float)属于下转型会造成精度损失。
- 需要强制类型转化float f = (float)3.4;或写成 float f = 3.4 f(F);
5、short s1 =1; s1 = s1+1;是否正确? short s1 = 1; s1 +=1;是否正确?
不正确;正确
- 由于1是int类型,因此s1+1运算结果也是int类型,需要强制类型转换才能赋值给short类型;
- s1+=1;中有隐含的强制类型转换:s1 = (short)(s1+1);
6、Java有没有goto?
goto是java中的保留字,在目前版本中JAVA没有使用。
7、int和Integer有什么区别?
- int为基本数据类型,Integer是int类型的包装类;
- 为了能够将基本数据类型当成对象操作,java为每一个基本数据类型都引入了对应的包装类型(warpper class)。
- 从JDK1.5开始引入了自动装箱/拆箱机制,二者可以相互转化;
- JAVA为每个原始类型提供了包装类型:
- 注意:在比较Integer类型的值时,需要参考数值是否在-128~127之间,因为这个范围的数值是存储在常量池中,并不会new新的Integer对象。
8、&和&&的区别 - &运算符有两种用法:
1、按位与;
2、逻辑与; - &&运算符是短路和运算:
1、短路运算,如果&&左边的表达式式位false时,右边的表达式会被直接短路掉,不会进行运算。 - 相同点:二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true;
- 逻辑或运算符(|)和短路或运算符(||)的区别亦如此。
9、内存中的栈(Strack)、堆(heap)和静态存储区的用法 - 栈中存储的有:基本数据类型的变量、一个对象的引用、函数调用的现场保护(变量接收);
- 堆中保存的有:通过new关键字和构造器创建的对象放在堆空间;
- 静态存储区(方法区、常量池):程序中的字面量(如直接书写的13)、"hello"和常量都是放在静态存储区中。
- 栈空间操作最快但是很小
- 通常大量的对象都是放在堆空间,整个内存包括硬盘上的虚拟内存都可以被当作堆空间来使用
String str = new String ("hellO");
#str 放在栈上
#new 创建出来的字符串对象放在堆上
#"hello"这个字面量放在静态存储区
10、Math.round(11.5)等于多少? Math.round(-11.5)等于多少?
Math.round(11.5) = 12;
Math.round(-11.5)= -11;
- 四舍五入的原理是在参数上加0.5然后进行下取整
最后
以上就是炙热枫叶为你收集整理的Java基础面试——day01的全部内容,希望文章能够帮你解决Java基础面试——day01所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复