final修饰符
final修饰常量
开发中使用final较多的地方---用来修饰常量
当程序中使用到的数据是固定不变的,请使用final对其进行修饰!
常量名使用大写,多个单词间使用下划线分割
//全局常量
public static final double PI = 3.1415926;
//局部常量
final int TIMES = 10;
final修饰方法
被final修饰的方法不能被子类覆盖
如,某个类作为父类,其中某个方法中的计算逻辑,调用关系是不能被子类覆盖的。
通过final修饰符来修饰这个方法,子类将无法重写该方法。
确保了父类中方法的永久有效。
示例:
Parent类中的invoke方法非常重要,不能被子类覆盖
Parent类
public class Parent {
Parent() {
System.out.println(this);
invoke();
}
public void invoke() {
System.out.println("do something important");
}
}
Child类,由于Parent类中的invoke方法没有被final修饰,所以,Child中一旦覆盖掉,将导致Parent中定义的invoke方法失效。
public class Child extends Parent {
public Child() {
System.out.println(this);
}
public void invoke() {
System.out.println("do nothing!");
}
}
测试代码
public class Test {
public static void main(String[] args) {
Child child = new Child();
child.invoke();
}
//运行结果:父类的invoke方法被子类覆盖了,并没有得到执行
/*
Child@1b6b7f83
do nothing!
Child@1b6b7f83
do nothing!
* */
}
使用final修饰Parent中的invoke方法
public class Parent {
Parent() {
System.out.println(this);
this.invoke();
}
final public void invoke() {
System.out.println("do something important");
}
}
public class Child extends Parent {
public Child() {
System.out.println(this);
}
//invoke()在父类中被final修饰,子类中只能使用而无法覆盖
}
public class Test {
public static void main(String[] args) {
Child child = new Child();
child.invoke();
}
//运行结果:父类的invoke方法被final修饰后,子类将无法对其覆盖
/*
Child@1b6b7f83
do something important
Child@1b6b7f83
do something important
* */
}
final修饰类
如果该类不允许被其它类继承(继承会破坏封装性),使用final进行修饰;
final public class Parent {
Parent() {
System.out.println(this);
this.invoke();
}
final public void invoke() {
System.out.println("do something important");
}
}
分享到:
相关推荐
Java 访问修饰符是 Java 编程语言中的一种重要机制,它控制着类、方法和变量的访问权限。访问修饰符可以分为四种:public、protected、private 和缺省(无访问修饰符)。 public 访问修饰符 public 访问修饰符是最...
Java 修饰符是 Java 语言中的一种基本语法元素,用于控制访问权限、继承关系、抽象类和静态成员变量等方面。Java 修饰符可以分为两大类:访问修饰符和非访问修饰符。访问修饰符包括 public、protected、default 和 ...
Java修饰符是编程中至关重要的概念,它们用于定义类、接口、变量和方法的访问权限、行为和特性。本文将详细介绍Java中常见的修饰符及其用途。 1. **类的修饰符** - **public**: 公共访问控制符,允许任何地方的...
Java中的修饰符总结 Java中的修饰符可以分为两大类:访问修饰限定符和非访问修饰限定符。 访问修饰限定符 访问修饰限定符用于控制类、方法、变量的访问权限。Java中的访问修饰限定符有四种:public、private、...
JAVA 访问修饰符是 JAVA 语言中的一种基本概念,它控制着类、方法、变量的访问权限,帮助开发者更好地组织和管理代码。根据 JAVA 访问修饰符的特性和使用范围,我们可以将其分为三类:修饰符类的访问修饰符、属性的...
Java语言中的修饰符是编程语法中的重要组成部分,它们用于定义类、接口、变量和方法的特性,从而控制访问权限、实现抽象概念、确保不可变性以及优化代码结构。本章将详细阐述Java中的主要修饰符。 首先,我们讨论...
在Java编程语言中,修饰符是用来限制或指定代码元素(如类、方法、变量)的访问权限、特性或行为的关键词。以下是对标题和描述中提及的Java修饰符及其相关知识点的详细介绍: 1. 类的访问控制修饰符: - **public*...
【Java面向对象之final修饰符】 Java中的final关键字在面向对象编程中扮演着重要的角色,它主要用于修饰类、变量和方法,确保它们在程序运行过程中不可改变或不可重写。以下是对final修饰符的详细解释: 一、final...
### Java软件开发实战:Java基础与案例开发详解之final修饰符 #### 1. final修饰符概述 在Java中,`final`关键字是一种访问修饰符,它可以用来限制类、方法和变量的行为。当一个类、方法或变量被声明为`final`时,...
Java中的`final`修饰符是一个非常重要的关键字,它用于创建不可修改的变量、方法和类。在Java中,`final`具有以下含义: 1. **final变量**: - **成员变量**:如果一个类的成员变量(字段)被`final`修饰,那么它...
Java是一种面向对象的编程语言,其中修饰符和访问修饰符是控制代码访问权限和行为的重要元素。...在实际开发中,合理使用这些修饰符可以有效地提高代码的封装性和安全性,是Java编程基础的关键部分。
在Java编程语言中,`final`关键字是一种非常重要的修饰符,它可以用来限制变量、方法和类的可变性。理解并正确使用`final`对于编写安全、稳定的代码至关重要。下面我们将详细探讨`final`修饰符的用法及其背后的原理...
final 修饰符是指在 Java 中用来修饰类、方法和变量的关键字。final 修饰符可以使得类不能被继承、方法不能被重写、变量不能被重新赋值。 七、abstract 修饰符 abstract 修饰符是指在 Java 中用来修饰类和方法的...
### Java中的修饰符详解 在Java编程语言中,修饰符是一种重要的语法元素,它们用于限定类、变量、方法等成员的访问级别以及某些特定的行为特性。本文将对几个常见的Java修饰符进行详细介绍,包括`public`、`private...
在Java中,某些修饰符可以组合使用,如`public static`、`protected final`等,以达到更精细的控制效果。例如,`public static`方法表示该方法是公共的且与类实例无关,而`protected final`变量则表示受保护的且不可...
在Java编程中,`final`修饰符和类型转化是两个重要的概念,它们分别涉及类的继承限制和对象的类型转换。 1. `final`修饰符: - `final`类:当一个类被声明为`final`时,它无法被其他类继承。这通常用于防止他人...
Java 中的类和方法的修饰符是 Java 语言的基础知识之一。Java 程序在定义类时,除了使用 class 关键字标识之外,还可以在 class 之前增加若干类的修饰符来修饰限定所定义的类的特性。类的修饰符分为访问控制符和非...
在Java编程中,修饰符(Modifiers)扮演着至关重要的角色,它们用于控制类、方法、变量等元素的可见性和行为。Java提供了两种主要类型的修饰符:访问控制修饰符和非访问控制修饰符。本文将深入探讨Java的访问控制...
从给定的文件信息来看,我们深入探讨了Java语言中重要的修饰符概念,这些修饰符在编程中扮演着关键角色,它们控制着类、方法、属性等的可见性、行为和生命周期。以下是对这些核心知识点的详细解析: ### 1. Java...
本文将深入探讨Java修饰符的基础知识,包括访问修饰符、非访问修饰符以及它们在实际编程中的应用。 首先,我们来看访问修饰符。在Java中,有四种主要的访问修饰符: 1. **public**:公共访问修饰符,允许任何地方...