1、包装类/封装类
- 使基本数据类型的变量具有类的特征
- 基本数据类型对应的包装类
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Interger |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
2、类型转换
- 简单概括:
- 基本数据类型 ⇒ 包装类:JDK 5.0 新特性:自动装箱 与自动拆箱
- 基本数据类型、包装类 ⇒ String:调用String重载的valueOf(Xxx xxx)
- String ⇒ 基本数据类型、包装类:调用包装类的parseXxx(String s)
3、static
- 是否使用static修饰可分为:静态属性 vs 非静态属性(实例变量)
-
实例变量:我们创建了类的多个对象,每个对象都独立的拥一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改。
-
静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过了的。
-
静态变量随着类的加载而加载。可以通过"类.静态变量"的方式进行调用
-
静态变量的加载要早于对象的创建。
-
由于类只会加载一次,则静态变量在内存中也只会存在一份:存在方法区的静态域中。
-
static修饰方法:静态方法、类方法
① 随着类的加载而加载,可以通过"类.静态方法"的方式进行调用
② 静态方法中,只能调用静态的方法或属性,非静态方法中,既可以调用非静态的方法或属性,也可以调用静态的方法或属性
4、final
- final 用来修饰一个类:此类不能被其他类所继承
- final 用来修饰方法:表明此方法不可以被重写
- final 用来修饰变量:此时的"变量"就称为是一个常量
- static final 用来修饰属性:全局常量
5、abstract
- 修饰:类、方法
- 抽象类:不能实例化,一定有构造器
- 抽象方法:只有方法的声明,没方法体,包含抽象方法的类,一定是一个抽象类。反之,抽象类中可以没有抽象方法的。
注意:
- abstract不能用来修饰:属性、构造器等结构
- abstract不能用来修饰私方法、静态方法、final的方法、final的类
6、interface
- 接口中的成员
- 全局常量:public static final
- 抽象方法:public abstract
- 静态方法
- 默认方法 - 接口中不能定义构造器,接口不可以实例化。
- Java类可以实现多个接口 ⇒ 弥补了Java单继承性的局限性
interface A{
}
class B implements A{//B实现了A接口
}