`
schy_hqh
  • 浏览: 555787 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

(基础)java中的final修饰符

 
阅读更多

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 访问修饰符是 Java 编程语言中的一种重要机制,它控制着类、方法和变量的访问权限。访问修饰符可以分为四种:public、protected、private 和缺省(无访问修饰符)。 public 访问修饰符 public 访问修饰符是最...

    Java修饰符使用整理(含实例)

    Java 修饰符是 Java 语言中的一种基本语法元素,用于控制访问权限、继承关系、抽象类和静态成员变量等方面。Java 修饰符可以分为两大类:访问修饰符和非访问修饰符。访问修饰符包括 public、protected、default 和 ...

    java常用的修饰符

    Java修饰符是编程中至关重要的概念,它们用于定义类、接口、变量和方法的访问权限、行为和特性。本文将详细介绍Java中常见的修饰符及其用途。 1. **类的修饰符** - **public**: 公共访问控制符,允许任何地方的...

    针对Java中的修饰符总结

    Java中的修饰符总结 Java中的修饰符可以分为两大类:访问修饰限定符和非访问修饰限定符。 访问修饰限定符 访问修饰限定符用于控制类、方法、变量的访问权限。Java中的访问修饰限定符有四种:public、private、...

    JAVA访问修饰符大归纳

    JAVA 访问修饰符是 JAVA 语言中的一种基本概念,它控制着类、方法、变量的访问权限,帮助开发者更好地组织和管理代码。根据 JAVA 访问修饰符的特性和使用范围,我们可以将其分为三类:修饰符类的访问修饰符、属性的...

    第6章 Java语言中的修饰符.ppt

    Java语言中的修饰符是编程语法中的重要组成部分,它们用于定义类、接口、变量和方法的特性,从而控制访问权限、实现抽象概念、确保不可变性以及优化代码结构。本章将详细阐述Java中的主要修饰符。 首先,我们讨论...

    java修饰符介绍

    在Java编程语言中,修饰符是用来限制或指定代码元素(如类、方法、变量)的访问权限、特性或行为的关键词。以下是对标题和描述中提及的Java修饰符及其相关知识点的详细介绍: 1. 类的访问控制修饰符: - **public*...

    java面向对象之final修饰符.docx

    【Java面向对象之final修饰符】 Java中的final关键字在面向对象编程中扮演着重要的角色,它主要用于修饰类、变量和方法,确保它们在程序运行过程中不可改变或不可重写。以下是对final修饰符的详细解释: 一、final...

    Java软件开发实战 Java基础与案例开发详解 6-6 final修饰符 共7页.pdf

    ### Java软件开发实战:Java基础与案例开发详解之final修饰符 #### 1. final修饰符概述 在Java中,`final`关键字是一种访问修饰符,它可以用来限制类、方法和变量的行为。当一个类、方法或变量被声明为`final`时,...

    java中final修饰符实例分析

    Java中的`final`修饰符是一个非常重要的关键字,它用于创建不可修改的变量、方法和类。在Java中,`final`具有以下含义: 1. **final变量**: - **成员变量**:如果一个类的成员变量(字段)被`final`修饰,那么它...

    关于Java中各种修饰符与访问修饰符的说明

    Java是一种面向对象的编程语言,其中修饰符和访问修饰符是控制代码访问权限和行为的重要元素。...在实际开发中,合理使用这些修饰符可以有效地提高代码的封装性和安全性,是Java编程基础的关键部分。

    java中final修饰符的使用方法

    在Java编程语言中,`final`关键字是一种非常重要的修饰符,它可以用来限制变量、方法和类的可变性。理解并正确使用`final`对于编写安全、稳定的代码至关重要。下面我们将详细探讨`final`修饰符的用法及其背后的原理...

    继承和接口和java访问权限修饰符总结.doc

    final 修饰符是指在 Java 中用来修饰类、方法和变量的关键字。final 修饰符可以使得类不能被继承、方法不能被重写、变量不能被重新赋值。 七、abstract 修饰符 abstract 修饰符是指在 Java 中用来修饰类和方法的...

    java中的修饰符介绍

    ### Java中的修饰符详解 在Java编程语言中,修饰符是一种重要的语法元素,它们用于限定类、变量、方法等成员的访问级别以及某些特定的行为特性。本文将对几个常见的Java修饰符进行详细介绍,包括`public`、`private...

    Java修饰符总结

    在Java中,某些修饰符可以组合使用,如`public static`、`protected final`等,以达到更精细的控制效果。例如,`public static`方法表示该方法是公共的且与类实例无关,而`protected final`变量则表示受保护的且不可...

    final修饰符与类型转化

    在Java编程中,`final`修饰符和类型转化是两个重要的概念,它们分别涉及类的继承限制和对象的类型转换。 1. `final`修饰符: - `final`类:当一个类被声明为`final`时,它无法被其他类继承。这通常用于防止他人...

    java修饰符的使用.pdf

    Java 中的类和方法的修饰符是 Java 语言的基础知识之一。Java 程序在定义类时,除了使用 class 关键字标识之外,还可以在 class 之前增加若干类的修饰符来修饰限定所定义的类的特性。类的修饰符分为访问控制符和非...

    java修饰符

    在Java编程中,修饰符(Modifiers)扮演着至关重要的角色,它们用于控制类、方法、变量等元素的可见性和行为。Java提供了两种主要类型的修饰符:访问控制修饰符和非访问控制修饰符。本文将深入探讨Java的访问控制...

    SCJP java基础修饰符

    从给定的文件信息来看,我们深入探讨了Java语言中重要的修饰符概念,这些修饰符在编程中扮演着关键角色,它们控制着类、方法、属性等的可见性、行为和生命周期。以下是对这些核心知识点的详细解析: ### 1. Java...

    Java修饰符demo

    本文将深入探讨Java修饰符的基础知识,包括访问修饰符、非访问修饰符以及它们在实际编程中的应用。 首先,我们来看访问修饰符。在Java中,有四种主要的访问修饰符: 1. **public**:公共访问修饰符,允许任何地方...

Global site tag (gtag.js) - Google Analytics