final与4个修饰成员的关键字

* final: 最终的,最后的, 关键字, 用来修饰类,成员变量, 成员方法, 局部变量;
* 修饰之后的内容特点如下:
* 修饰类:
* 被final修饰的类,可以有父类,但是没有子类(太监类)
* 格式: public final class 类名{...}
*
* 修饰成员变量:
* 被final修饰的成员变量,是一个常量,需要在定义的时候赋值,或者是构造代码块,或者构造方法中赋值.
* 格式: final 数据类型 变量名 = 赋值; (只能赋值一次)
*
* 修饰成员方法:
* 被final修饰的成员方法,不能被重写;
* 格式: public final void method(参数){...}
*
* 修饰局部变量:
* 1. 基本数据类型: 表示里面的值不能被改变了(只能赋值一次)
* final 数据类型 变量名 = 赋值;
* 2. 引用数据类型: 表示地址值不能重新指向, 但是内容可以改变;

public class Demo01Final {

public static void main(String[] args) {

//1. 基本数据类型: 表示里面的值不能被改变了(只能赋值一次)
final int a = 10;
//a = 20;// 错误;

final int b;
b = 20;
//b = 30;// 错误!	

//2. 引用数据类型: 表示地址值不能重新指向, 但是内容可以改变;
final int[]array = {1,2,3,4};
//array = new int[4]; // 错误!
array[1] = 100;

final String str = new String("hello");
//str += "world"; // 错误

final Person p = new Person();
//p = new Person();// 错误!
p.name = "张三";

System.out.println(MyInterface.NUM);// 10
//MyInterface.NUM = 100;// 错误!
}
}

  


* 在java中修饰成员的关键字有四个,他们修饰之后的可见范围如下:
* 大小关系: public > protected > default > private
*

 public	protected	default(默认不写)	private
* 同包,同类	YES	YES	YES	YES
* 同包,不同类	YES	YES	YES	NO
* 不同包,子类	YES	YES	NO	NO
* 不同包,非子类	YES	NO	NO	NO

  


*
* 注意点
* 经常使用的两个权限修饰符, public最大权限, private最小权限.

posted @ 2017-12-27 22:04  Zennon  阅读(342)  评论(0编辑  收藏  举报