黑马程序员技术交流社区

标题: static和final的区别? [打印本页]

作者: gan    时间: 2015-5-8 22:38
标题: static和final的区别?
static和final的用法区别是什么?
作者: wkz_crystal    时间: 2015-5-8 22:54
简单一句话:主要看修饰的是什么样的变量(类,字段,方法)了哈,注意分析两个区中的各自特性就OK哈,static 是存在于方法区中,final存在于常量池中……
作者: 崔小可    时间: 2015-5-9 00:05
static 是存在于方法区中,final存在于常量池
final修饰是常量,static修饰是被整个类对象共享
作者: adminlxb    时间: 2015-5-9 00:30
崔小可 发表于 2015-5-9 00:05
static 是存在于方法区中,final存在于常量池
final修饰是常量,static修饰是被整个类对象共享 ...

解释的很到位!赞一个!
作者: adminlxb    时间: 2015-5-9 00:34
final是一个关键字,可以用于修饰类,成员变量,成员方法。
        1、特点:
                它修饰的类不能被继承。
                它修饰的成员变量是一个常量。
                它修饰的成员方法是不能被子类重写的。

static关键字:可以修饰成员变量和成员方法。
        1、静态的特点:
                A:随着类的加载而加载
                B:优先于对象存在
                C:被类的所有对象共享
                D:可以通过类名调用
        2、静态的注意事项:
                A:在静态方法中是没有this关键字的。
                B:静态方法只能访问静态成员。
        3、静态内容的调用:
                A:被对象调用
                B:被类名调用

作者: zw937820438    时间: 2015-5-9 08:53
static静态修饰的被整个类所共享,而final是最终的意思,而它修饰的是一个完是一个常量,
作者: gan    时间: 2015-5-9 10:26
谢谢啦!
作者: Tauruszzy    时间: 2015-5-9 10:30
adminlxb 发表于 2015-5-9 00:34
final是一个关键字,可以用于修饰类,成员变量,成员方法。
        1、特点:
                它修饰的类不能被继承。

很详细,谢谢分享
作者: Tauruszzy    时间: 2015-5-9 10:33
static修饰的变量和方法,存在于方法区中,随着类的加载而加载,也就是在对象创建之前就有了,所以调用的时候可以用类名直接调用,而final修饰的变量的值是不能重新赋值的,即一个常量
作者: 欧阳文    时间: 2015-5-9 13:09
static静态修饰的被整个类所共享,而final是不可改变的意思,而它修饰的是一个完是一个常量,
作者: 彭越    时间: 2015-5-9 14:06
static 是存在于方法区中,final存在于常量池 final修饰是常量,static修饰是被整个类对象共享
作者: gan    时间: 2015-5-11 14:48
谢谢各位帮助!
作者: 嘉Ming    时间: 2015-5-11 15:15
adminlxb 发表于 2015-5-9 00:34
final是一个关键字,可以用于修饰类,成员变量,成员方法。
        1、特点:
                它修饰的类不能被继承。

很详细,学习了,谢谢分享。
作者: _hy    时间: 2015-5-11 15:48
final是一个关键字,可以用于修饰类,成员变量,成员方法。
        1、特点:
                它修饰的类不能被继承。
                它修饰的成员变量是一个常量。
                它修饰的成员方法是不能被子类重写的。

static关键字:可以修饰成员变量和成员方法。
        1、静态的特点:
                A:随着类的加载而加载
                B:优先于对象存在
                C:被类的所有对象共享
                D:可以通过类名调用
        2、静态的注意事项:
                A:在静态方法中是没有this关键字的。
                B:静态方法只能访问静态成员。
        3、静态内容的调用:
                A:被对象调用
                B:被类名调用

又复习了一遍:)
作者: 杨春雨    时间: 2015-5-11 16:37
我自己的理解就是 static是在内存中开辟了一个空间单独给他留着 这是一个公共的空间,任何对象都可以访问他,而final字面理解就是最终的意思,意思就是用final关键字修饰以后这个字段是不可变的。当然修饰类就不能被继承啦。
作者: zy18692243338    时间: 2015-5-11 21:46
static修饰的东西是在方法区,随着类的加载而加载,只加载一次,而final字面理解是最终的意思,用它修饰的字段是不可变的,修饰的方法是不能被重写的。修饰的类是不能被继承的
作者: !85684009ex    时间: 2015-5-11 21:47
你知道吗!谁知道!?知道的告诉我!
作者: !85684009ex    时间: 2015-5-11 21:50
谁知道!请告诉我!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2