java继承-final关键词用法

final关键字特点:

  1.可以用来修饰变量、方法、类。

  2.修饰的变量是一个常量。一旦被赋值就不能被修改(常量一般都和static关键字配合使用)

  3.修饰类代表此类不能被继承4.修饰方法代表次方法不能被重写

public class finalDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		final DemoA dA = new DemoA();
		DemoB dB = new DemoB();

		//dA = new DemoA;如果添加了final修饰,则dA不可以再修改dA的引用
		dA.TestA();
		dB.TestA();
	}

}
 /*final*/ class DemoA{//如果添加了final,则DemoB不可以继承DemoA
	public final int a = 1;
	public int b =2;

	public /*final*/ void TestA() {//如果添加了final,则DemoB里的TestA不可以重写DemoA里的TestA
		//a++;错误!因为final修饰的变量a即为常量,不可以被修改
		System.out.println(a);
	}
	public void TestB() {
		System.out.println(b);
	}
}

class DemoB extends DemoA{
	public int a = 1;
	public int b =2;

	public void TestA() {
		System.out.println(a);
	}
	public void TestB() {
		System.out.println(b);
	}
}

原文地址:https://www.cnblogs.com/liubing2018/p/8421810.html

时间: 2024-11-10 13:54:43

java继承-final关键词用法的相关文章

Java中final的用法总结

1.         修饰基础数据成员的final 这是final的主要用途,其含义相当于C/C++的const,即该成员被修饰为常量,意味着不可修改.如java.lang.Math类中的PI和E是final成员,其值为3.141592653589793 和2.718281828459045. 2.         修饰类或对象的引用的final 在Java中,我们无法让对象被修饰为final,而只能修饰对象的引用,这意味着即使你写public final A a = new A(); 事实上a

【Java学习笔记之二十】final关键字在Java继承中的用法小结

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类   当用final修饰一个类时,表明这个类不能被继承.也就是说,如果一个类你永远不会让他被继承,就可以用final

【Java学习笔记之二十二】解析接口在Java继承中的用法及实例分析

一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 接口定义的一般形式为: [访问控制符]interface <接口名> { 类型标识符final 符号常量名n = 常数: 返回值类型  方法名([参数列表]); … } 二.接口的特点 1.Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显

java中final的用法

final从字面翻译来看,有最后的,最终的;  决定性的;  不可更改的等含义,在java里面主要还是“不可改变的”这层意思,不可改变或者不想改变的final主要用在类.方法.数据这三个方面. 一.final类 当我们声明一个类,不想让别人利用这个类来声明子类,就可以把这个类声明为final类.这个类是“断子绝孙”的,也就是不允许被继承,但是它可以继承自其他类.比如: final class Executive extends Manager { … … } 还有一个典型的final类就是Str

【Java学习笔记之二十一】抽象类在Java继承中的用法小结

一.抽象类的基本概念 普通类是一个完善的功能类,可以直接产生实例化对象,并且在普通类中可以包含有构造方法.普通方法.static方法.常量和变量等内容.而抽象类是指在普通类的结构里面增加抽象方法的组成部分. 那么什么叫抽象方法呢?在所有的普通方法上面都会有一个“{}”,这个表示方法体,有方法体的方法一定可以被对象直接使用.而抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰. 而拥有抽象方法的类就是抽象类,抽象类要使用abstract关键字声明. 范例:定义一个抽

【Java学习笔记之十九】super在Java继承中的用法小结

1)有人写了个很好的初始化属性的构造函数,而你仅仅想要在其中添加另一些自己新建属性的初始化,这样在一个构造函数中调用另外一个构造函数,可以避免重复的代码量,减少工作量: 2)在一个构造函数中调用另外一个构造函数的时候应该用的是同一块内存空间,在默认的构造函数中先初始化变量,调用另一个的时候覆写已经初始化的变量的值: 3)整个调用的过程和递归调用函数有点类似,不断充气球,直到整个气球膨胀起来,不断的深层递进,遇到停止标记,逐层的跳出来. 写了段代码,解释我上面的叙述: 1 class JavanT

java 中 final 的用法

/* final可以修饰类,方法,变量 特点: final可以修饰类,该类不能被继承. final可以修饰方法,该方法不能被重写.(覆盖,复写) final可以修饰变量,该变量不能被重新赋值.因为这个变量其实常量. 常量: A:字面值常量 "hello",10,true B:自定义常量 final int x = 10;*/

java的final用法

转自:http://blog.163.com/maomaoyu_1012/blog/static/19060130520116269329894/ 1.         修饰基础数据成员的final 这是final的主要用途,其含义相当于C/C++的const,即该成员被修饰为常量,意味着不可修改.如java.lang.Math类中的PI和E是final成员,其值为3.141592653589793和2.718281828459045. 2.         修饰类或对象的引用的final 在J

关于Java中final关键字的用法总结

用于数据 永不改变的编译时常量,必须是基本类型,static final常量定义时必须赋值 一个运行时被初始化却又不希望被改变的值 空白final,确保使用前必须被初始化,但有更大的灵活性 final参数,用于对象引用,对象不可改变,用于基本类型,值不可以改变 用于方法 防止方法的行为被改变,不可覆盖 private方法默认为final的 曾经使用final方法可以提高效率,现已不提倡 用于类 表示该类不可以被继承 final类方法默认指定为final的 关于Java中final关键字的用法总结