final修饰符(5)-final方法
final修饰的类的方法不能被重写,例如如果父类不希望子类重写某个方法,则可以使用final修饰符修饰该方法
在java的Object类里面有一个final方法:getClass(),因为Java不希望任何类重写这个方法,所有使用final方法封装起来,但对于该类提供的toString()和equals()方法,都允许子类重写,因此都没有用final修饰
代码示例:
package com.j1803.finalTest;
public class FinalMethodTest1 extends Test{
//编译错误
public void show(){};
public static void main(String[] args) {
}
}
class Test{
public final void show(){};
}
子类试图重写父类的final方法,编译错误
对于一个private修饰的父类方法,因为其仅在当前类中可见,其子类无法访问该方法,所以子类无法重写该方法,如果在子类中定义了一个与父类private方法有相同方法名,参数列表相同,返回值相同的方法,
也不是重写,只是定义了一个新方法,因此,即使使用final修饰一个private访问权限的方法,依然可以在其子类中定义与该方法具有相同方法名,相同参数列表,相同返回值类型的方法
package com.j1803.finalTest;
public class FinalMethodTest1 extends Test{
//编译错误
public void show(){};
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
class Test{
//修改public 为private
private final void show(){};
}
final修饰的方法仅仅是不能被重写,并不是不能被重载
package com.j1803.finalTest;
public class FinalMethodTest1{
public final void show(){};
public final void show(Object obj){};
public static void main(String[] args) {
}
}
final修饰符(5)-final方法的更多相关文章
- final修饰符(6)-final类
final修饰的类不可以有子类,例如:java.lang.Math类就是一个final类,它不可以有子类 子类继承父类,可以访问父类的内部数据,可以重写父类的方法来改变父类方法的实现细节,可能导致不安 ...
- Java中的(构造方法、方法重载、final修饰符使用及继承和抽象)
构造方法: 构造方法的名称和类名相同,没有返回类型,参数列表(类型.个数)不同 方法重载:成员方法和构造方法都可以进行重载 方法名相同但是参数列表(类型,个数)不同,成为方法的重载. 继承:直支持单继 ...
- Java final 修饰符知识点总结
final从字面上理解含义为“最后的,最终的”.在Java中也同样表示出此种含义. final可以用来修饰变量(包括类属性.对象属性.局部变量和形参).方法(包括类方法和对象方法)和类. 1. fin ...
- Java中的final修饰符
1.什么时候可以选择final修饰符 如果想让一个类不被其他类继承,不允许在有子类,这时候就要考虑用到final来修饰. 2.用final修饰的类 首先大家要明白,用final修饰的类是不能被继承的, ...
- 对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误
在Java中修饰符总共有一下几种: 1.访问控制修饰符 分别有:public private protected,缺省 2.其它修饰符 分别有:abstract,final,stati ...
- java修饰符public final static abstract transient
JAVA 修饰符public final static abstract transient 关键字: public final static abstract ... 1.public prot ...
- 三大修饰符static,final,abstract,接口和抽象类的区别
package com.cityhero.test; public class ThreeModifier { //static静态的 // 概念:static可以修饰方法和属性,被static修的方 ...
- private static final 修饰符
java修饰符分类修饰符字段修饰符方法修饰符根据功能同主要分下几种 1.权限访问修饰符 public,protected,default,private,四种级别修饰符都用来修饰类.方法和字段 包外 ...
- 类成员(static)和final修饰符
在Java类里只能包含成员变量.方法.构造器.初始化块.内部类(包括接口.枚举)5种成员,类成员是用static来修饰的,其属于整个类. 当使用实例来访问类成员时,实际上依然是委托给该类来访问类成员, ...
随机推荐
- 适用于Windows和Linux的Yolo-v3和Yolo-v2(下)
适用于Windows和Linux的Yolo-v3和Yolo-v2(下) 如何训练(检测自定义对象): (培养老YOLO V2 yolov2-voc.cfg,yolov2-tiny-voc.cfg,yo ...
- 用Taro写一个微信小程序(三)—— 配置dva
一.关于dva dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻 ...
- Java基础_循环嵌套_打印乘法口诀、菱形,各种图形,计算二元一次和三元一次方程组_7
循环嵌套 打印乘法口诀 for(int j=1;j<=9;j++){ for(int i=1;i<=j;i++){ System.out.print(i+"*"+j+& ...
- 【NX二次开发】Block UI 列表框
属性说明 常规 类型 描述 BlockID String 控件ID Enable Logical 是否可操作 Group Logical ...
- Mybatis中9种经典的设计模式!你知道几个?
虽然我们都知道有23个设计模式,但是大多停留在概念层面,真实开发中很少遇到.Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式. Mybatis至少 ...
- 关于web移动端定位
最近在做一个搜索附近3公里所有超市信息(已经录入数据库的超市信息)的功能.思路很简单只是获取用户当前地理位置(经纬度),通过sql语句筛选出3公里范围内的所有超市信息,然后传递到前台页面展示出来.但是 ...
- 【题解】入阵曲 luogu3941 前缀和 压维
丹青千秋酿,一醉解愁肠. 无悔少年枉,只愿壮志狂 题目 题目描述 小 F 很喜欢数学,但是到了高中以后数学总是考不好. 有一天,他在数学课上发起了呆:他想起了过去的一年.一年前,当他初识算法竞赛的 时 ...
- redHat6设置ip地址
产生需求的原因: 最近新安装了redhat6,可是在相互ping的过程中发现redhat6的并没有配置静态的ip地址,于是我尝试使用windows的方式去配置,可效果并不如意,于是如何在redhat6 ...
- Linux 安装及管理程序
Linux 安装及管理程序 目录 一.Linux应用程序基础 1.1.应用程序与系统命令的关系 1.2.典型应用程序的目录结构 1.2.常见的软件包封装类型 二.RPM包管理工具 2.1.RPM软件包 ...
- 『动善时』JMeter基础 — 50、使用JMeter测试WebSocket接口
目录 1.什么是WebSocket接口 2.为什么需要WebSocket 3.测试WebService接口前的准备 4.WebSocket Sampler组件界面详解 5.使用JMeter测试WebS ...