上一篇,我们说了一下线程和Map,或许那些太抽象,不太好理解,也不太方便记忆,我们这次说一些简单的。
1、Q:java的基本数据类型有哪些?
A:四种整数类型(byte、short、int、long)
byte:8 位,用于表示最小数据单位,如文件中数据,-128~127
short:16 位,很少用 -32768 ~ 32767
int:32 位、最常用,-2^31-1~2^31 (21 亿)
long:64 位、次常用,long 型数据后面加 L或 l
两种浮点类型(float,double)
float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。
double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾。
一种字符类型(char):char:16 位,是整数类型
一种布尔类型(boolean):true 真 和 false 假。
java 中String 是个对象,是引用类型
2、Q:上面的八种数据类型他们的封装类是什么?说一下java的自动装箱与拆箱。
A:封装类分别为Integer、Short、Float、Double、Long、Boolean、Byte、Character,什么是自动拆箱和自动装箱呢?我们来看一段代码。
package com; public class Blog { public static void main(String[] args) { //自动装箱 Integer num = 1; //自动拆箱 int num_int = num; } }
简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。
3、Q:JAVA中四种修饰符都有什么,他们的使用的限制范围都是什么?
A:private:修饰的成员只能在同类别中访问,而在同包、子类和其他包中都不能被访问
public:修饰的成员在同类、同包、子类(继承自本类)、其他包都可以访问
protected:修饰的成员在同类、同包、子类中可以访问,其他包中不能被访问
default:修饰的成员在同类、同包中可以访问,但其他包中不管是不是子类都不能被访问
4、Q:Java 中应该使用什么数据类型来代表价格?
A:如果不是特别关心内存和性能的话,使用BigDecimal,否则使用预定义精度的 double 类型。
5、Q:重载和重写区别
A:重写,即为继承父类,允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。
子类根据需要实现自己的方法,覆盖父类的方法。
重载,是在一个类里面,方法名字相同,而参数不同(个数和类型不同),返回类型可以相同也可以不同。
总结下来就是重写必须同名同参,重载同名不同参就是重载。