关于final关键字的理解

原创 2012年03月21日 20:30:38
 
package com.finaltest;

public final class GrandFather {
	
	GrandFather(){}

}


 

 

package com.finaltest;

public class Father {
	
	private String a="aaa";
	public String b="bbb";
	
	private final String aa="fffaaa";
	public final String bb="fffbbb";
	
	private void print1(){
		System.out.println("private111");
	}
	private final void print1ff(){
		System.out.println("finalprivate111");
	}
	
	
	public void print2(){
		System.out.println("public222");
	}
	public final void print2ff(){
		System.out.println("finalpublic222");
	}

}


 

package com.finaltest;

//GrandFather是final,不可被继承,下面编译会出错
//public class Sonn extends GrandFather{

public class Sonn extends Father{
	
	public static void main(String ss[]){
		Sonn son=new Sonn();
		System.out.println(son.b+"--"+son.bb);
		son.b="son-bbb";
//		son.bb="son-fffbbb"; final变量的值不可修改
		son.print2();
		son.print2ff();//父类的final方法不可重写(但可被继承)
	}
	
	
	public void print2(){
		System.out.println("可以重写父类方法public222");
	}
	
	//父类的final方法不可重写(但可被继承)
//	public final void print2ff(){
//		System.out.println("finalpublic222");
//	}

}


 

控制台打印:

 

bbb--fffbbb
可以重写父类方法public222
finalpublic222

 

内部类使用final关键字的理解

(1).内部类是外部类的一个成员,就像外部类的成员方法一样,所以内部类有权限访问外部类的所有成员,包括private的。 (2).内部类不能访问外部类方法中的局部变量,除非变量是final的(一般发...

final关键字的深入理解

原文链接:http://www.jianshu.com/p/09b758c4000d1.final方法在编译阶段绑定,称为静态绑定(static binding),编译时常量,永远不可改变。 2.运...

java 的String, Stringbuffer, StringBuilder的区别以及对final关键字的理解

本文参考了一些文章,链接如下: http://www.cnblogs.com/xudong-bupt/p/3961159.html http://www.cnblogs.com/mengdd/...

【Java笔记】static和final关键字的初级理解应用

在一个类中static定义的变量是只有一个值,所有的成员共享一个static变量。1、static修饰的成员变量;2、static修饰的方法; ①在Java中声明类、属性和方法时,可使用关键字fina...

java final关键字的理解与使用方法总结二

本文接上一篇,对final方法和final类进行说明 1、定义为final的方法不能被重写 2、书上写:定义为final的方法的执行效率高于非final的方法。由于final方法通过机器码生成器或者优...

final关键字的使用

  • 2015年09月22日 23:51
  • 16KB
  • 下载

java中final,finally,finalize三个关键字的区别

final 当这个关键字修饰一个类时,意味着他不能派生出新的子类,也就是说不能被继承,因此一个类不能被同时声明为abstract和final。当final修饰变量或者方法时,可以保证他们在使用中不会...
  • NDboy
  • NDboy
  • 2015年05月06日 14:06
  • 3183

Java 中关于this、static、final 关键字的使用

在刚开始学习Java 时候接触了很多的关键字但是总记不得它们的用法与特征,现在就放在一起总结一下希望帮到更多的初学者。this关键字:       this 关键字主要有以下几种作用: 1:当类...
  • codejas
  • codejas
  • 2017年12月07日 17:08
  • 28

final关键字的用法总结

目录目录 final关键字的基本用法 1修饰类 2修饰方法 3修饰变量 二深入探讨final关键字 1类的final变量和普通变量的区别 2被final修饰的引用变量指向的对象内容是否可变 3fina...
  • td_pch
  • td_pch
  • 2016年11月25日 23:12
  • 193

Java中的Final关键字,区分基本数据类型与引用类型,值传递与引用传递

Final可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了。对于基本数据类型声明为Final后其值无法再次改变,对于引用类型,可以改变改引用的内容,但是无法...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于final关键字的理解
举报原因:
原因补充:

(最多只允许输入30个字)