1.final关键字修饰类

MyClass.java

package Final;
/*
当final关键字用来修饰一个类的时候,格式:
public final class 类名称{}
*
含义:当前这个类不能有任何的子类。(太监类)但是会有父亲。类内的内容不变,正常写不能用一个final类作为父类
注意:一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写(因为没儿子)
* */
public final class MyClass /*extends Object*/ {public void method() {System.out.println("方法执行");}
}

2.final关键字修饰成员方法

Fu.java

package Final;/*
* 当final关键字用来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写。
* 格式:
* 修饰符 final 返回值类型 方法名称(参数列表){
* //方法体
* }
*
* 注意事项:
* 对于类、方法来说,abstract关键字和final关键字不能同时使用(不能同时修饰一个方法或者类),因为矛盾
* 因为abstract必须没有方法体,必须被重写;
* final要求不能被重写。
* */public class Fu {public final void method() {//有final,就不能被子类中覆盖重写System.out.println("父类方法");}
}

Zi.java

package Final;public class Zi extends Fu{//    public void method() {//        System.out.println("子类方法");
//    }
}

3.final关键字修饰局部变量

Student.java

package Final;public class Student {String name;public Student() {}public Student(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

Demo01Final.java

package Final;
/*
* final关键字代表最终、不可改变的
*
* 常用四种用法:
* 1。可以用来修饰类(这个类不能有任何子类。)
* 2。可以用来修饰一个方法(不能被覆盖重写)
* 3。还可以用来修饰一个成员变量(不能改变)
* 4。还可以用来修饰一个局部变量(变量值不能被改变)
* */
public class Demo01Final {public static void main(String[] args) {int num = 10;num = 20;System.out.println(num);//一旦使用final用来修饰局部变量,那么这个变量就不能被更改//一次赋值,终生不变final int num1 = 30;System.out.println(num1);//正确写法!只要保证有唯一一次赋值即可final int num3;num3 = 30;//对于基本类型来说,不可变说的是变量当中的数据不可改变//对于饮用类型来说,不可变的说的是变量当中的地址值不可改变。Student stu1 = new Student("hh");System.out.println(stu1);System.out.println(stu1.getName());stu1 = new Student("zz");System.out.println(stu1);//相比上一个地址值发生改变System.out.println(stu1.getName());final Student stu2 = new Student("xx");System.out.println(stu2);System.out.println(stu2.getName());//stu2 = new Student("tt");地址值不可改变stu2.setName("tt");//地址值所指向的内容可以改变System.out.println(stu2.getName());}
}

4.final关键字修饰成员变量

Person.java

package Final;
//对于成员变量来说,如果使用final关键字修饰,那么这个变量也照样是不可变
//1。由于成员变量具有默认值,所以用了final之后必须手动赋值,不会再给默认值了
//2。对于final的成员变量,要么使用直接赋值(默认直接赋值为null),要么通过构造方法赋值(二者选其一)
//3.必须保证类当中的所有重载的构造方法,都最终会对final的成员变量进行赋值。
public class Person {//private final String name;private final String name;/* = "鹿晗";*/public Person(String name) {this.name = name;}public Person() {name = "关晓彤";}public String getName() {return name;}//    public void setName(String name) {//        this.name = name;
//    }
}

29final关键字相关推荐

  1. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  2. java中实现具有传递性吗_Java中volatile关键字详解,jvm内存模型,原子性、可见性、有序性...

    一.Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的. Java内存模型规定了所有的变量都存储在主内存中.每条线程中还有自己的工作内存,线程的工作 ...

  3. volatile关键字之全面深度剖析

    引言 volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字 ...

  4. mysql屏蔽关键字实现方法_PHP屏蔽过滤指定关键字的方法

    本文实例讲述了PHP屏蔽过滤指定关键字的方法.分享给大家供大家参考.具体分析如下: 实现思路: 一.把关键字专门写在一个文本文件里,每行一个,数量不限,有多少写多少. 二.PHP读取关键字文本,存入一 ...

  5. Java 静态变量,静态方法,静态常量(java static 关键字)

    Java 静态变量,静态方法,静态常量  就是变量 ,方法,常量前面添加了static 关键字 为什么要使用静态的呢 有时候在处理问题时会需要两个类在同一个内存区域共享一个数据, 不如现在 Main ...

  6. Java this 关键字使用

    this 引用就是本类的一个对象 理解这句话看下面一段代码 package me; public class Me {String name; //成员变量int age;public Me(Stri ...

  7. java 关键字(面试题)

    学而时习之,温故而知新. 今天群里有人问java中true ,false 是关键字吗, 这里记录下,不是关键字,我还特意翻看之前的书看看 下面是 Java 语言保留使用的 50 个关键字: 关键字 g ...

  8. java中标识符,关键字,数据类型

    什么是标识符? 在java语言中用来给一个类,变量或方法命名的符号 标识符的命名规则 标识符可以由字母.数字.下划线(_).美元符($)组成,但不能包含 @.%.空格等其它特殊字符,不能以数字开头. ...

  9. iOS面试题整理---关键字!!!

    关键字整理 static 1.static全局变量与普通的全局变量有什么区别? 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量.全局变量本身就是静态存储方式, 静态全局变量当 ...

最新文章

  1. 细细品味大数据--初识hadoop
  2. sample java_从sample来学习Java堆(转)
  3. flume案例-文件数据采集-运行测试
  4. 社区 正式发布了跨平台的 CoreWCF 0.2.0
  5. mysql 5.7 延迟同步_完全解决 MySQL 5.7 主从复制的延迟问题
  6. linux 中select()函数的使用
  7. SQL Server 2008空间数据应用系列九:使用空间工具(Spatial Tools)导入ESRI格式地图数据...
  8. 电子信息工程专业打工人的蓝桥杯嵌入式竞赛时记
  9. Linux驱动开发: USB驱动开发
  10. CTEX套装下载安装
  11. 电信行业数据安全风险评估案例 - 数据安全治理之数据安全风险评估白皮书
  12. UNIX环境高级编程(第2版)- 第1~10章
  13. 南京oracle认证考试,南京Oracle认证考试-Oracle认证Web组件开发专家(OCWCD)-南京万和...
  14. Jvav第一天学习内容
  15. r5 5500参数 r5 5500有核显吗 锐龙r5 5500相当于i几
  16. SSH的远程访问及控制
  17. php网站 域名授权 怎么破,使用php进行域名授权代码 - 小俊学习网
  18. (投影:Projector)Unity Projector 投影器原理以及优化
  19. 祝福老朋友今天的收获
  20. 由于找不到libmysql.dIl, 无法继续执行代码。重新安装程序可能会解决此问题

热门文章

  1. 文本分类入门(二)文本分类的方法
  2. 滑雪课程设计Ski Course Design
  3. 电子老鼠闯迷宫pascal解题程序
  4. AtCoder AGC030F Permutation and Minimum (DP、计数)
  5. 在全局中谋一域_谋全局才能谋一域
  6. python flask分页_flask 分页
  7. uva437巴比伦塔
  8. php 获取URL 各部分参数
  9. 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享
  10. leanote 信息栏显示笔记本和笔记类型