1. 简述JVM的运行原理?
Java平台由Java 虚拟机和Java 应用程序接口搭建,然后将之编译成字节码(.class文件)
,再然后字节码被装入内存, 一旦字节码进入虚拟机,它就会被解释器解释执行,或者
是被即时代码发生器有选择的转换成 机器码执行
2. 数据类型有哪些?
byte short int long float double boolean char
3.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)
short s1 = 1; s1 += 1;(可以正确编译)
4. break 和continue的区别是什么?
break跳出循环,continue跳出本次循环,进入下次循环
5. 描述断点调试的步骤?
分析错误,设置断点 启动调试 单步运行 观察变量 发现问题 修正代码,重新运行 解决
问题
6. this的作用?
1. 代表本类当前对象的引用
2. 既可以调用本类成员变量、成员方法,也可以调用本类的构造方法。
3. 用于区别局部变量和成员变量
7. 构造方法的特点?
1. 方法名和类名完全一致
2. 没有返回值类型,连viod都没有。
3. 没有明确的返回值,但是可以有return关键字;
8. 继承的的特点和好处,弊端?
特点:
可以从以下两方面来讲:
类与类之间的继承:只能单继承不能多继承,但是可以多层继承。
接口与接口之间的继承:既可以单继承也可以多继承。
好处:
1. 提高了代码的复用性、维护性、可扩展性。
2. 让类与类产生了关系,是多态的前提。
弊端 :
增强了类与类的耦合性。
9. this和super 的区别?
this代表本类当前对象的引用,谁调用我,我就代表谁。
super代表当前对象父类的内存空间标识。 (可以理解为父类的引用,通过super可以访问父 类的成员
10. 方法重载和方法重写区别?
方法重载:同一个类中,方法名相同,参数的类型、顺序和个数不同,与返回值类型和方法访问 修饰符无关 方法重写:不同类中,发生在继承类中,方法名称、参数类型、返回值类型全部相同,被重写的 方法不能拥有比父类更严格的权限