简述static,final,abstract三者的使用场景与注意事项
来源:互联网 发布:淘宝网商家客服 编辑:程序博客网 时间:2024/05/02 02:44
static用于修饰成员变量和成员函数,想要实现对象中的共性数据的对象共享,可以将这个数据进行静态修饰,被静态修饰的成员可以直接被类名调用,静态随着类的加载而加载,而且优先于对象存在。静态方法只能访问静态成员(静态方法和静态变量),不可以访问非静态成员,这是因为静态方法加载时,优先于对象存在,所以没有办法访问对象中的成员。静态方法中不能使用this和super关键字,因为this代表本类对象,super代表父类对象,而静态时,有可能没有对象存在,所以this和super无法使用。
final关键字可以修饰类,方法,变量(成员变量内,局部变量,静态变量),被final修饰的类是一个最终类,不可以被继承,被final修饰的方法是一个最终方法,不可以被覆盖,但是可以被继承。被final修饰的变量只能是一个常量,只能赋值一次。内部类被定义在类中的局部位置上时,只能访问局部被final修饰的局部变量。
抽象方法只能定义在抽象类中,抽象方法和抽象类必须由abstract修饰,abstract关键字只能描述类和方法,不能描述变量。抽象方法只定义方法声明,不定义方法实现。抽象类不可以被实例化(创建对象),只有通过子类继承抽象类并覆盖抽象类中的所有抽象方法后,该子类才可以被实例化,否则该子类还是一个抽象类。抽象类中有构造函数用于给子类对象进行初始化,同时抽象类中可以含有非抽象方法。abstract关键字不可以与final,private,static关键字共存,因为被final修饰的方法不可以被重写,意味着子类不可以重写该方法,如果abstract和final共同修饰父类中的方法,子类要实现抽象方法(abstract的作用),而final又不让该方法重写,这相互矛盾。如果private和abstract共同修饰父类中的方法,private修饰则该方法不可以被子类访问,但是abstract修饰需要子类去实现,两者产生矛盾。如果static和abstract共同修饰父类中的方法,static表示是静态的方法,随着类的加载而加载,则该方法不需要在子类中去实现,这与abstract关键字矛盾。
- 简述static,final,abstract三者的使用场景与注意事项
- java中final与static的使用场景
- 修饰符static、final、abstract与接口
- final、static和abstract区别和使用
- Java关键字final、static、abstract使用总结
- 理解final static的使用场景以及具体含义
- java学习笔记(三)java中的修饰符abstract、static与final
- final/abstract/static类的规则对比
- final、static、abstract修饰符的作用
- static,final和abstract
- static 、final、abstract、interface
- 【insigma】static、final、abstract
- static final abstract
- static,final和abstract
- static,final,abstract
- static,final,abstract,接口
- abstract static final区别
- final与abstract的用法
- Android中VR视频的Demo
- android中屏幕方向screenOrientation属性详解
- app后端技术架构
- Android TV 屏幕适配
- Hibernate连接mysql数据的中文乱码问题
- 简述static,final,abstract三者的使用场景与注意事项
- 简单了解AJAX,AJAX封装与应用
- 欢迎使用CSDN-markdown编辑器
- D
- JavaWeb之文件上传 (祥讲)
- 在线PDU格式编码/解码
- 九度OJ1121首字母大写
- 北邮OJ-98. IP数据包解析-12计院上机D
- CSS布局之脱离文档流详解——浮动、绝对定位脱离文档流的区别