A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宋红旺 黑马帝   /  2011-9-15 18:30  /  2569 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

谁来给我说说这两个修饰符到底是怎么用的,谁能给简单的说说,越通俗易懂的越好。谢谢

8 个回复

倒序浏览
黑马网友  发表于 2011-9-15 18:34:13
沙发
static是静态修饰关键字,可以修饰变量和程序块以及类方法:当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存;修饰一个程序块的时候(也就是直接将代码写在static{...}中)时候,虚拟机就会优先加载静态块中代码,这主要用于系统初始化;当修饰一个类方法时候你就可以直接通过类来调用而不需要新建对象。
final可以修饰变量、方法及类,当你定义一个final变量时,jvm会将其分配到常量池中,程序不可改变其值;当你定义一个方法时,改方法在子类中将不能被重写;当你修饰一个类时,该类不能被继承
我觉得这个很通俗

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-15 18:57:20
藤椅
面向对象就是要有对象
而static就是可以不要创建对象,直接用就是了
final 你就暂且把它理解为结了账离开柜台,以后都不能改了
够简单吧
回复 使用道具 举报
static修饰符,能够与属性、方法和内部类一起使用,表示静态的。类中的静态变量和静态方法能够与类名一起使用,不需要创建一个类的对象来访问该类的静态成员,所以,static修饰的变量又称作“类变量”。类变量是在类装载的时候就会被初始化,即只要类被装载,不管是否使用了static变量,都会被初始化。
static属性的内存分配:一个类中,一个static变量只会有一个内存空间,虽然有多个类实例,但这些类实例中的这个static变量会共享同一个内存空间。
static的基本规则:
一个类的静态方法只能访问静态属性
一个类的静态方法不能直接调用非静态方法
访问控制权限允许时,static属性和方法可以使用对象名加“.”的方式调用,也可以使用实例加“.”的方式调用
静态方法中不存在当前对象,因而不能使用this,也不能使用super
静态方法不能被非静态方法覆盖
构造方法不允许声明为static的
注,非静态变量只限于实例,并只能通过实例引用被访问。

final修饰符,在Java声明类、属性和方法时,可以使用关键字final来修饰,final所标记的成分具有终态的特征,表示最终的意思。
final的基本规则:
final标记的类不能被继承
final标记的方法不能被子类重写
final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次
final标记的成员变量必须在声明的同时赋值,如果在声明的时候没有赋值,那么只有一次赋值的机会,而且只能在构造方法中显式赋值,然后才能使用
final标记的局部变量可以只声明不赋值,然后再进行一次性的赋值
final一般用于标记那些通用性的功能、实现方式或取值不能随意被改变的成分,以避免被误用
注:如果将引用类型(即,任何类的类型)的变量标记为final,那么,该变量不能指向任何其它对象,但可以改变对象的内容,因为只有引用本身是final的。
回复 使用道具 举报
黑马网友  发表于 2011-9-15 20:38:26
报纸
static 静态的   修饰类中得成员(成员变量和成员方法)  静态的方法只能访问静态的


final  终结的   修饰 类 变量 方法(函数)  顾名思义 被final修饰后的类就不能在干其他的动作,即不能被继承了、

修饰变量就不能被改变了  就变成了一个常量,这里还设计到常量的书写格式;

修饰方法就不能被 重写了
我感觉最主要的就是这些了  献丑了  呵呵!
回复 使用道具 举报
黑马网友  发表于 2011-9-16 10:08:28
地板
static 是静态的  用于静态方法 成员变量
final 是常量  用于定义一些衡量不变的值  如  男 女  等
回复 使用道具 举报
黑马网友  发表于 2011-9-16 10:34:23
7#
static 修饰的方法或变量使其静态。
final 修饰变量使其变成常量,常量不能修改,比如 π=3.14 一般是不可以修改。
回复 使用道具 举报
黑马网友  发表于 2011-9-16 13:47:44
8#

回复 7 # 的帖子

static是静态修饰符
static final 修饰常量 ,常量就不用说了
回复 使用道具 举报
黑马网友  发表于 2011-9-16 13:52:25
9#

回复 楼主 的帖子

static是静态修饰符
static final 修饰常量 ,常量就不用说了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马