[转帖]Java中final与static关键字总结_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3408 | 回复: 0   主题: [转帖]Java中final与static关键字总结        下一篇 
晶晶
注册用户
等级:少校
经验:1086
发帖:89
精华:0
注册:2012-11-8
状态:离线
发送短消息息给晶晶 加好友    发送短消息息给晶晶 发消息
发表于: IP:您无权察看 2012-11-12 13:56:16 | [全部帖] [楼主帖] 楼主

一.final总结

1.final修饰类:表示该类不可继承

final不能修饰interface接口

2.final修饰方法:表示该方法不能被子类覆盖(即子类不能重写父类的final方法

,可以继承)

final不能修饰构造函数

3.final修饰字段属性:表示属性值第一次初始化后不能被修改

final属性可以直接初始化或在构造函数中初始化

如果属性是直接初始化,则其值不能被其它函数(包括构造函数)修改

4.final修饰函数参数

参数值不能被函数修改

5.final修饰函数中的局部变量

局部变量被第一次初始化后不能被修改

public void hello() {
      final String name;
      name = "hi"; //ok
      name = "hello"; //error
}


使用final的意义:

第一,为方法“上锁”,防止任何继承类改变它的本来含义和实现。设计程序时

,若希望一个方法的行为在继承期间保持不变,而且不可被覆盖或改写,就可以

采取这种做法。

第二,提高程序执行的效率,将一个方法设成final后,编译器就可以把对那个

方法的所有调用都置入“嵌入”调用里(内嵌机制)。

二.static总结

1.static修饰成员函数:该成员函数不能使用this对象

static不能修饰构造函数

static不能修饰函数参数

static不能修饰局部成员变量

2.static修饰成员字段

当类被虚拟机加载时,首先按照字段声明的先后顺序对static成员字段进行初始


3.static修饰语句块

当类被虚拟机加载时,按照声明顺序先后初始化static成员字段和static语句块

static所修饰的方法和字段是只属于类,所有对象共享。

在static所修饰的函数和语句块中不能使用非static成员字段。

在Java不能直接定义全局变量,是通过static来实现的

在Java中没有const,不能直接定义常量,通过static final来实现




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论