活动地址:CSDN21天学习挑战赛
包装类
基本类型和包装类型使用场景的区别:
结果或者你希望的结果只有2种情况的时候 你就用基本类型,想让他存在NULL的情况就用包装类型。
基本数据类型包装成包装类的实例
获得包装类对象中包装的基本类型变量
static关键字
使用范围:
在Java类中,可用static修饰属性、方法、代码块、内部类
被修饰后的成员具备以下特点:
随着类的加载而加载
优先于对象存在
修饰的成员,被所有对象所共享
访问权限允许时,可不创建对象,直接被类调用
没有对象的实例时,可以用类名.方法名()的形式访问由static修饰的类方法。
在static方法内部只能访问类的static修饰的属性或方法,不能访问类的非static的结构。
代码块
作用:对java类或对象进行初始化
分类:
静态代码块:
可以有输出语句;可以对类的属性、类的声明进行初始化操作;不可以对非静态的属性初始化;执行顺序从上往下;静态代码块的执行先于非静态代码块;静态代码块随着类的加载而加载,且只执行一次。
非静态代码块:
可以有输出语句;可以对类的属性、类的声明进行初始化操作;除了调用非静态的结构外,还可以调用静态的变量或方法;执行顺序从上往下;每次创建对象时都会执行一次,且先于构造器执行。
总结:程序中成员变量赋值的执行顺序
声明成员变量的默认初始化->显式初始化、多个代码块依次执行->构造器再对成员进行初始化操作->手动给属性赋值
final关键字
作用:final标记的类不可继承;final标记的方法不可被子类重写;final标记的变量称为常量,名称(通常)大写,只能被赋值一次。
抽象类与抽象方法
与c++一致,不同的是用abstract声明,如public abstract void printMessage();
不能用abstract修饰变量、代码块、构造器、私有方法、静态方法、final方法、final类。