笔记:

/** 关键字final(最终的) 标记的类不能被继承, 提高安全性,提高程序的可读性
* 1.final 修饰类,这个类就不能被继承; 如:String类、StringBuffer类、System类等
* 2.final 修饰方法:不能被重写; 如:Object类的getClass()
* 3.final 修饰属性,变为常量 属性(没有默认初始化的值);习惯上,常量用大写字符来写!
* final常量一旦确定后,就禁止再次复制!
* 4.变量用 static final +类型 来修饰,即为全局变量!
* 5.final修饰参数类型,eg:(final Other o){ //强制保护对象o不被new...,但其内部数据仍能修改
*/

源程序:

package Coding;
public class Main_of_Coding {
public static void main(String[] args) {
C c=new C(); //输出全局变量
Other o1=new Other();
o1.addOne(o1);
}
}
class C{
static final int II =77777 ;
public C() {
//I=666; 非法!常量一旦确定后,就禁止再次复制!
System.out.println("6666 "+II);
}
}
class Other{
public int i=0;
public void addOne(final Other o){ //强制保护对象o,但其内部数据仍能修改
o.i++;
System.out.println(o.i);
}
}

测试结果:

6666  77777
1

关键字final 修饰类、方法、属性、参数类型的更多相关文章

  1. final可以修饰类、属性、方法

    final可以修饰类.属性.方法. 当用final修饰类的时候,此类不可被继承,即final类没有子类.这样可以用final保证用户调用时动作的一致性,可以防止子类覆盖情况的发生. 当利用final修 ...

  2. final可以修饰类、属性、方法。

      当用final修饰类的时候,此类不可被继承,即final类没有子类.这样可以用final保证用户调用时动作的一致性,可以防止子类覆盖情况的发生.   当利用final修饰一个属性(变量)的时候,此 ...

  3. final关键字概念与四种用法和final关键字用于修饰类和成员方法

    fifinal关键字 概述 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写.那么我们能不能随意的继承 API中提供的类,改写其内容呢?显然这是不合适的.为了避免这种随意改写 ...

  4. Java中final修饰的方法是否可以被重写

    这是一次阿里面试里被问到的题目,在我的印象中,final修饰的方法是不能被子类重写的.如果在子类中重写final修饰的方法,在编译阶段就会提示Error.但是回答的时候还是有点心虚的,因为final变 ...

  5. C#--方法的参数类型

    在C#中,方法的参数类型有四种: 值类型 引用类型 输出类型 数组型参数 值参数: 所谓值参数,就是利用值向方法传递参数时,编译程序给实参的值做一份拷贝,并将此拷贝传递给该方法,这样做的结果就是被调用 ...

  6. java利用反射获取类的属性及类型

    java利用反射获取类的属性及类型. import java.lang.reflect.Field; import java.math.BigDecimal; import java.util.Map ...

  7. 笔记-python-lib-requests常用类/方法/属性

    笔记-python-lib-requests常用类/方法/属性 1.      requests模块常用类/方法/属性 在使用中发现对requests模块不够熟悉,写了几个案例后重新整理了一下文档,罗 ...

  8. Static和Final修饰类属性变量及初始化

    1.static修饰一个属性字段,那么这个属性字段将成为类本身的资源,public修饰为共有的,可以在类的外部通过test.a来访问此属性;在类内部任何地方可以使用.如果被修饰为private私有,那 ...

  9. Python基本语法_函数属性 & 参数类型 & 偏函数的应用

    目录 目录 前言 软件环境 Python Module的程序入口 函数的属性 Python函数的创建 函数的参数 必备参数 缺省参数 命名参数 不定长参数 匿名参数 偏函数的应用 前言 Python除 ...

随机推荐

  1. 入行IT的选择决定了日后走的路的长度和领域的深度

    前段时间和发小聊天时,他说了一句话我觉得很值得思考,送给大家:机遇大于努力,选择大于机遇. 一年前我毅然辞去了之前的工作,只身来到北京,正式成为了北漂的一员.对于我们现在的大环境下,其实北漂已经和以前 ...

  2. python面向对象学习笔记(一)

    粘贴一些自学过程中的笔记大纲,源文本在pycharm里面写的,有点乱整理一下,部分内容有待补充,书写不一定100%正确,全当数据备份了. 1.面向对象的特性 #你写代码时什么使用面向对象 #处理比较复 ...

  3. dropout含义与原理

    含义 在训练过程中,对神经网络单元按照一定比例暂时将其丢弃. 原理 由于网络参数过多,训练数据少,或者训练次数过多,会产生过拟合的现象.dropout产生的一个重大原因就是为了避免过拟合. 每一层的神 ...

  4. 最新 房天下java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.房天下等10家互联网公司的校招Offer,因为某些自身原因最终选择了房天下.6.7月主要是做系统复习.项目复盘.LeetCo ...

  5. 教你成为全栈工程师(Full Stack Developer) 四十五-一文读懂hadoop、hbase、hive、spark分布式系统架构

    转载自http://www.shareditor.com/blogshow?blogId=96 机器学习.数据挖掘等各种大数据处理都离不开各种开源分布式系统,hadoop用于分布式存储和map-red ...

  6. tomcat修改server.xml的虚拟目录,启动eclipse后清空

    修改eclipse中servers的server.xml 参考文章:https://blog.csdn.net/binglong_world/article/details/77604324

  7. [转帖]一个关于国密SM4的故事

    一个关于国密SM4的故事 https://www.cnblogs.com/ouyida3/p/10053862.html SM1 硬件SM2 非对称加密SM3 hash算法SM4 对称加密 一个关于国 ...

  8. Java程序员必会常用Linux速查手册

    目錄 系统服务管理 文件管理 查看日志 压缩与解压 磁盘和网络管理 防火墙 ftp操作 软件的安装与管理 其他 系统服务管理 systemctl 输出系统中各个服务的状态: systemctl lis ...

  9. Python--时间模块time模块

    原地址:https://finthon.com/python-time/ Python时间模块——time模块 简介 在数据处理当中,经常会碰到处理时间的问题.比如:在序列预测的过程中,需要通过学习一 ...

  10. Power BI学习

    常见用途: 1.连接数据 2.转换和清洗该数据,以创建数据模型 3.创建视觉对象,如提供数据的可视化表示形式的图表或图形 4.在一个或者多个报表页上创建作为视觉对象集合的报表 5.使用Power BI ...