Java如果不希望某类中的public方法被重写,应改?
来源:互联网 发布:拍照解题的软件 编辑:程序博客网 时间:2024/05/16 12:45
问题抛出
如题:假定期望设计一个类A,类中包含一个必须要拥有public属性方法f().当不希望其他程序重写此方法时,请列举三种策略?
方法一:用final修饰类,被修饰的类不能派生子类。
而继承是重写的基础,该类不能派生子类即不能被继承故而类的方法也不能被重写。(多说两句:final修饰的类被称为最终类,表明该类不能派生子类)
方法二 :用final修饰成员方法,被修饰的方法(称为最终方法)不能被重写。
例如:像Math类的方法都是最终方法,最终方法代表着成熟,不需要修改和完善了,像Math类就符合这个特点。
方法三:用static修饰成员方法
静态方法不能被重写。静态成员(方法或属性)是类的成员存放在栈中,类可以直接调用(是类的静态成员,当然对象也可以调用,只是说你可以使用而已);实例成员是对象的成员,存放在堆中只能被对象调用,
重写的目的在于根据创造对象的所属类型不同而表现出多态。因为静态方法无需创建对象即可使用。没有对象,重写所需要的“对象所属类型” 这一要素不存在,因此无法被重写。
阅读全文
0 0
- Java如果不希望某类中的public方法被重写,应改?
- java实体类如果不重写toString方法,会如何?
- Java中子类重写父类中的方法应注意的问题
- java中重写方法应遵循规则
- java 重写接口中的方法,为什么必须在前加public呢?
- java中的方法重写
- Java中的静态方法能否被重写?
- 重写Object类中的Equals方法(Java)
- java 继承中的重写父类方法
- Java方法不应超过15行
- java 子类重写父类的方法应注意的问题
- java 子类重写父类的方法应注意的问题
- java 子类重写父类的方法应注意的问题
- java 继承中的方法重写
- java中的 方法的重写
- servlet中的service()方法重写与不重写
- servlet中的service()方法重写与不重写
- JAVA类中的equals()方法和hashCode()方法的重写
- 直接插入排序
- 学习Linux命令(19)
- 5-6 打印学生选课清单 (25分)
- 计步器UIStepper
- SpringBoot+Groovy使用外部tomcat实例
- Java如果不希望某类中的public方法被重写,应改?
- 作业规划进程crond
- C++程序内存布局
- 8-JavaScript设计模式——门面模式
- PAT-A-1061. Dating (20)
- macOS Sierra安装及使用gdb
- 虚拟机 VMware Workstation 12 安装与激活 图文教程
- leetcode561. Array Partition I
- 折半插入排序