java—final关键字

java—final关键字

 

final关键字用法

修饰类当用final去修饰一个类的时候,表示这个类不能被继承。注意:a. 被final修饰的类,final类中的成员变量可以根据自己的实际需要设计为fianl。b. final类中的成员方法都会被隐式的指定为final方法。说明:在自己设计一个类的时候,要想好这个类将来是否会被继承,如果可以被继承,则该类不能使用fianl修饰,在这里呢,一般来说工具类我们往往都会设计成为一个fianl类。在JDK中,被设计为final类的有String、System等。

2.修饰方法被final修饰的方法不能被重写。

注意:

a. 一个类的private方法会隐式的被指定为final方法。

b. 如果父类中有final修饰的方法,那么子类不能去重写。

3. 修饰成员变量

注意:

a. 必须要赋初始值,而且是只能初始化一次。

4. 修饰成员变量

注意:

a. 必须初始化值。

b. 被fianl修饰的成员变量赋值,有两种方式:1、直接赋值 2、全部在构造方法中赋初值。

c. 如果修饰的成员变量是基本类型,则表示这个变量的值不能改变。

d. 如果修饰的成员变量是一个引用类型,则是说这个引用的地址的值不能修改,但是这个引用所指向的对象里面的内容还是可以改变的。

 

总结:final关键字:

  • final可以修饰类,方法,变量。
  • final修饰的类不可以被继承。
  • final修饰的方法不可以被覆盖。
  • final修饰的变量是一个常量,只能被赋值一次。
  • 内部类只能访问被final修饰的局部变量。

测试:

(1).final修饰的类不可以被继承。

final class Fu{
	
}

class Zi extends Fu{
	
}

class FinalDemo{
	public static void main(String[] args){
		
	}
}

 

在这里插入图片描述

(2)final修饰的方法不可以被覆盖。

(3)final修饰的变量是一个常量,只能被赋值一次。

/*
	1.final修饰的类不能被继承
	2.final修饰的变量是一个常量,只能被赋值一次
	3.final修饰的方法不能被子类重写
*/


class Fu{
	final void talk(){
		System.out.println("爸爸会讲中文......");
	}
}

class Zi extends Fu{
	int age = 18;
	void show(){
		age = 13;
		System.out.println(age);
	}
	void talk(){
		System.out.println("儿子会讲中文......");
	}
}




class FinalDemo{
	public static void main(String[] args){
		
	}
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114830.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Thinking in Java 系列 —(一)基本语法和操作

    Thinking in Java 系列 —(一)基本语法和操作前言本系列由阅读Thinkinjava4th英文原版完成。Thinkinjava作为最权威的java书籍之一,读起来其实并不通俗易懂,并不适合初学者。但是他的解释和语言是java运行的标准。当我读的时候有一些语句是非常直接且到位的表达了一种机制和他最简单的存在的意义。相信只有清楚的描述了每种机制或语法是如何发明出来的,才能够了解他如何使用。这也是本书的精髓。本系列会陆续进行更新。…

    2022年7月8日
    19
  • Spring常用的三种注入方式「建议收藏」

    Spring常用的三种注入方式「建议收藏」Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:构造方法注入,setter注入,基于注解的注入。构造方法注入先简单看一下测试项目的结构,用maven构建的,四个包:entity:存储实体,里面只有一个User类dao:数据访问,一个接口,两个实现类service:服务层,一个接口,一个实现类,实现类依赖于IUserDaotest:测试包在spring的配置文

    2022年10月22日
    0
  • eclipse如何创建java_eclipse如何创建java项目

    eclipse如何创建java_eclipse如何创建java项目eclipse创建java项目的方法:首先点击箭头所指的file选项,并新建project;然后点击项目下的src包,右键SEC,选择箭头所指的new和CLASS;最后输入框中输入class名称,勾选箭头所指的框。本教程操作环境:windows7系统、java10&&EclipseIDE2020版,DELLG3电脑,该方法适用于所有品牌电脑。相关免费学习推荐:java基础教程…

    2022年7月24日
    5
  • pycharm创建anaconda环境_conda怎么安装

    pycharm创建anaconda环境_conda怎么安装1、首先在condaprompt中创建新的环境。condacreate–name<env_name><package_names>尖括号代表文字内容,实际使用时不需要添加。如之后还需要再添加新的库进入环境,需在condaprompt中激活环境,并且利用pip安装新的包。<查看环境列表>condaenvlist或者condainfo-e<激活目标环境>activate<env_name>&l

    2022年8月25日
    4
  • idea激活码2021.10.3【2021最新】

    (idea激活码2021.10.3)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月27日
    32
  • 使用Iocomp工控图表工具绘制实时曲线

    使用Iocomp工控图表工具绘制实时曲线概述:本文为使用Iocomp工控图表工具绘制实时曲线探索及研究教程,为大家介绍了Iocomp控件、实时曲线绘制方法、Iocomp界面操作,属性分类等。帮助学习者更好的运用Iocomp。

    2022年7月17日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号