面向对象的三大修饰符
1.final
含义:最终的,不可修改的
使用范围:变量,方法,类
最终类:
概念:使用final修饰的类
特征:不能被其他类继承
语法:
访问权限修饰符 final class 类名...{
}
常量:
概念:使用final修饰的变量
特征:不能被修改
局部变量:
语法
final 数据类型 变量名 = 值;
注意:可以将声明与赋值分开,但是只能赋值一次.
成员变量(属性)
语法:
访问权限修饰符 final 数据类型 属性名 = 值;
注意:使用final修饰属性时,必须设置默认值
方法:
概念:使用final修饰方法
特征:不能被重写
语法:
访问权限修饰符 final 返回值类型 方法名(形参列表){
方法体;
}
2.abstract
含义:抽象的
适用范围:类,方法
抽象类:
概念:使用abstract修饰的类
特征:不能直接创建对象
语法:
访问权限修饰符 abstract class 类名{
}
抽象方法
概念:使用abstract修饰的方法
特征:不能使用方法块
语法:
访问权限修饰符 abstract 返回值类型 方法名();
注意:
1.有抽象方法的,一是抽象类,抽象类不一定有抽象方法
2.子类继承于抽象类,要么自己是抽象类,要么重新创建父类的抽象方法
3.static
概念:静态的,共有的
适用范围:方法,变量(属性),代码块,内部类
修饰成员变量:
概念:静态变量;
特征:1.static修饰的属性属于该类的所有对象共有的
2.可以使用类名调用,也可以使用对象调用
语法:
访问权限修饰符 static 数据类型 属性名;
修饰方法
概念:静态方法
特征:可以使用类名调用,也可以使用对象调用
语法:
访问权限修饰符 static 返回值类型 方法名(形参列表){
方法体;
}
注意:
1.静态方法中可以直接使用静态成员(静态属性,静态方法),不能直接使用非静态方法或属性
2.静态方法不能使用this,super关键字
修饰代码块:
概念:静态代码块
特点:在当前类被加载时执行一次
语法:
stasic{
}
定义位置:类中方法外
注意:一个类只会被加载一次
代码块
类的加载时机
静态与非静态的区别(*)
静态属性与非静态属性的区别:
静态属性:
1.属于该类的所有对象
2.可以用类名调用,也可以使用对象调用
3.随着类的生成而生成,随着类的销毁而销毁
非静态属性
1.属于该类对象
2.只能使用对象名调用
3.随着对象的生成而生成,随着对象的销毁而销毁