三个修饰符
2023-04-11 08:27:18 15 举报
AI智能生成
简单学习了abstract、static、final三个修饰符。
作者其他创作
大纲/内容
一、abstract
1、不该创建的对象
程序模拟现实世界,解决现实问题
现实生活中“动物”都具体的子类对象 所以 动物对象 不应该被创建出来
如何限制创建对象?
2、抽象类
应用:abstract 修饰类,此类不能new对象
抽象类意为不完整的类、不够具体的类
抽线对对象无法独立存在,即不能new对象
3、抽象类的作用
作用:
可以被子类继承 提供共属性方法
可以被声明引用 更自然的使用多态
经验:
抽象父类,可以作为子类的组成部分
依附于子类对象存在
由父类共性+子类独有组成完整的子类对象
4、抽象方法
在父类中方法必须要声明,但是不能被实现 不能加{ }
二、static
表示静态的 可以修饰属性 方法 代码块 内部类
1、静态属性
修饰的属性:静态属性(类属性)
静态变量:通过类名 属性名调用 在类的对象中是共享的
应用场景:在多个对象之间共享变量的时候,使用静态变量
2、静态方法
static修饰方法:静态方法 类方法
静态方法:通过类名.方法名 () 调用
1、静态方法只能调用静态属性和静态方法
2、静态方法不能使用this和super
3、抽象方法不能使用static修饰
4、静态方法不可以被重写,但是可以被继承
5、静态方法不能使用abstract关键字修饰(抽象方法必须要重写 但是静态方法不允许被重写 所以冲突)
应用场景:当在编写工具类的时候使用静态 排序的方法 方便调用
三、final
3.1什么是最终?
概念:最后的,不可更改的
final可修饰的内容
类(最终类)
方法(最终方法)
变量(最终变量)
3.2final变量
final修饰变量:此变量不能被改变(常量)
所有final修饰的变量只能被赋值一次,值不能改变
3.3实例变量
实例变量不再提供默认值,必须手动赋予初始值
赋值时机:显式初始化、动态代码块、构造方法
注意:如果在构造方法中为实例常量赋值,必须保证所有的构造方法都能对其正确赋值
3.4静态常量
静态常量不再提供默认值,必须手动赋予初始值
赋值时机:显示初始化、静态代码块
3.5对象常量
final修饰基本类型,值不可变
final修饰引用类型,地址不可变
0 条评论
下一页