三大修饰符

【 三大修饰符 】

访问修饰符:(修饰访问权限)
private 属性 方法 构造方法
(default) 属性 方法 构造方法 类
protected 属性 方法 构造方法
public 属性 方法 构造方法 类

① static(静态的)

1.属性

(类变量):全类公有 允许直接用类名访问
(类加载):当JVM第一次使用一个类时,需要ClassPath找到这个类
对应的.class文件,把这个文件中包含的类的信息读入JVM并保存起来
一般的说,一个类只会加载一次!
类变量是在类加载的时候分配空间,并且初始化的

类加载的时机:
①:创建一个类的对象
②:访问类的静态成员(属性和方法)
③:加载子类必须先加载父类
④:如果仅仅是声明类的引用,不会类加载

2.方法

静态方法: 允许直接用类名调用 静态方法不依赖于对象!
在静态方法中,只能访问类的静态成员(静态方法中没有当前对象)

静态方法可以被子类的静态方法覆盖,但没有多态
对引用调用其静态方法,仅相当于对引用的引用类型调用静态方法

3.初始代码块

初始代码块在对象创建过程的属性初始化阶段执行
静态初始代码块中的代码,在类加载时执行一次

② final(最终的,不可更改的)

1.变量: 常量: 一旦赋值 不能改变

对于fianl 属性 系统不会提供默认值
对于fianl 实例变量 可以在初始化属性或是构造方法中赋值
对于final 类变量 可以在初始化属性或是静态初始代码块中赋值

2.方法:

对于final 方法 可以被继承,不能被子类覆盖

3.类:

对于final 类 不可以被继承,final类中的方法都是final的

final的价值:

① 帮助编译器进行代码优化,提升程序性能
② 可以构建数据安全的对象,便于共享
③ 可以构建安全的类型

③ abstract(抽象的)

1.类: 抽象类只能声明引用,不能创建对象
2.方法: 抽象方法 只有声明 没有实现

如果一个类中有抽象方法,这个类就必须是抽象类
但是抽象类中未必有抽象方法!
抽象类中可以有构造方法
子类继承抽象类,如果子类不希望也成为抽象类,就必须实现父类中
声明的所有抽象方法

利用abstract,可以把方法声明抽象到父类中,而方法实现留在子类
更好的体现"共性放在父类"原则!

修饰符组合:

private static final 均不能和 abstract 连用
上一篇:数组排序
[1]:https://blog.csdn.net/qq_42806727/article/details/88944134
下一篇:接口Interface
[2]:https://blog.csdn.net/qq_42806727/article/details/88946666

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值