Java复习知识点基础篇一
- 为什么说java是一次编译到处运行?(java的跨平台的)
JVM ,是java实现跨平台的关键。
.java文件经过编译器编译成.class字节码文件,再由JVM将.class字节码文件翻译为机器语言执行。
也就是说只要在不同平台上安装JVM,只需经过一次编译,就可以在不同的平台上到处运行。 - 一个Java文件中可以包含多个类吗?(不含内部类)
可以。
一个Java文件中可以包含多个类,但只有一个类可以被public修饰。
一个Java文件中,被public修饰的类的类名必须与Java文件名相同。 - Java访问权限
java提供了三种访问修饰符,分别是 private、protected、public,一共组成了四种访问权限:private、default、protected、public。
其中default是在属性或方法上不加任何修饰符时的访问权限。
四种权限的含义:- private:本类内部成员可以访问
- default:本类内部成员可以访问,同一包下的类可以访问
- protected:本类内部成员可以访问,同一包下的类可以访问,子类可以访问
- public:任意包下任意类的成员都可以访问
注意:当修饰类时,只能有两种:default、public
- defaut:同一包下的其他类可以访问
- public:任意包下任意类都可以访问
-
成员变量与局部变量的区别?
成员变量:- 成员变量是在类的范围里定义的
- 成员变量要有默认值
- 未被static修饰成员变量(也称为实例变量)存放在堆内存中,声明周期对象相同
- 被static修饰的成员变量(也称为类变量)存放在方法区内,生命周期与类相同
局部变量:
- 局部变量是在方法内定义的
- 局部变量不需要有默认值
- 局部变量存放在栈内存中,作用范围结束,就会被释放
注意:Java中没有真正意义上的全局变量,只是人们通过其他的语言习惯的说法
-
Java的数据类型
Java的数据类型分为基本数据类型和引用数据类型
基本数据类型有byte、short、int、long、float、double、char、boolean,可以分为整型byte、short、int、long,浮点型float、double,字符型char,布尔型boolean,除了布尔型,其他的七种类型可以看为数字类型相互转换。
引用类型就是对一个对象的引用,根据引用对象类型的不同,可以将引用类型分为3类,即数组、类、接口类型。 -
实例变量的默认值
若实例变量为引用类型,那么默认值一律为null
若实例变量为基本类型,默认值如下:
byte:0
short:0
int:0
long:0L
float:0.0F
double:0.0
char:“\u0000”
boolean:false -
Integer与Double类型如何判断相等?
- 不能通过 == 进行判断
- 不能通过字符转进行判断,转换后浮点数带小数,整数不带
- 不能通过compareTo()方法进行比较,即便二者都拥有compareTo()方法,但是此方法只能比较同类型的
整数与浮点型都继承了Number类型,Number中提供了将数字转换为其他数据类型的方法。
因此可以这么判断:Integer x = 10; Double y = 10.00; System.out.println(x.doubleValue() == y.doubleValue());
-
为什么Java要提供包装类
Java是面向对象的语言,一切皆对象,但是其中的八种基本数据类型却出现了例外,为了解决这个问题,为每个基本数据类型都提供了引用类型,也就是包装类 -
自动装箱与自动拆箱
自动装箱和自动拆箱都是JDK1.5提供的
自动装箱:将一个基本数据类型直接赋值给对应的引用数据类型
自动拆箱:将一个引用数据类型直接赋值给对应的基本数据类型
自动装想与自动拆箱简化了基本数据类型与包装类之间的转换过程