黑马程序员技术交流社区

标题: 关于final修饰符的一些问题。 [打印本页]

作者: ﹎◇waiting﹎    时间: 2012-7-5 09:17
标题: 关于final修饰符的一些问题。
本帖最后由 ﹎◇waiting﹎ 于 2012-8-1 13:50 编辑

如果雷使用了final修饰符,成员变量并没有声明为final类型,则成员变量是不是终止符。
如:
final class Myclass
{
  int Y = 3;
  double X = 5.0;
  void showxy()
  {
     System.out.println(Y);
     System.out.println(X);
  }
}
类定义的时候使用了终止符,但类里面的成员变量没有使用终止符定义,那这些成员变量Y、X是不是终止符?


作者: 孔令金    时间: 2012-7-5 19:28
final修饰的类不能被继承,即不能有子类。而final修饰的变量,只能赋值一次,可以用作常量。
作者: 晁喆    时间: 2012-7-6 22:22
final修饰的类不能被继承,这是一定的,但里边的变量是能够改变的,只要变量不是用final修饰就好~
作者: 李志群    时间: 2012-7-6 22:42
一.final:最终。 作为一个修饰符。
1.可以修饰类,函数,变量。
2.被final修饰的类不可以被继承,为了避免被继承,被子类复写功能。
3.被final修饰的方法不可以被复写。
4.被final修饰的变量是一个常量只能赋值一次,既可以修饰成员变量,又可以修饰局部变量。
  当在描述事物时,一些数据的出现值是固定的,那么这时为了增强阅读性,都给这些值起个名字,方便于
  阅读。而这个值不需要改变,所以加上final修饰。作为常量:常量的书写规范所有字母都大写,如果由多个
单词组成。单词间通过_连接。
二,内部类定义在类中的局部位置上时,是能访问该局部被final修饰的局部变量。
二。内部类定义在局部时,
1.不可以被成员修饰符修饰
2.可以直接访问外部类中的成员,因为还持有外部类中的引用。
  但是不可以访问它所在的局部中的变量,只能访问被final修饰的局部变量。

楼主有什么需要我可以给您我的课堂笔记看看呵呵
作者: 陈世涛    时间: 2012-7-11 13:02
关于final,个人的一些总结,希望有助于楼主解决问题。
1、final是一个修饰符,可以修饰类、方法、变量(成员变量、局部变量)
2、Final修饰的类不可以被继承。
3、Final修饰的方法不可以被覆盖。
4、Final修饰的变量是一个常量,只能被赋值一次。是为了增强阅读性,只要数据是固定的,就将这个数据用一个名称来表示,并用final修饰。常量名称都是大写字母,多个单词组成时用下划线来分隔。
下面举个final的例子说明一下。
Class Fu
{
        Final void method()
        {
                //code...访问低层代码
        }
}
Class Zi extends Fu
{
        Void method()

        {
                Sop("haha");
        }
}
以上代码体现出继承的弊端,因为父类的method的方法访问了系统的低层代码。当子类对其覆写,就不会去访问父类的meth的方法,直接用自己的method这样就出现了代码的不严谨性,所以此时需要用final关键字进行修饰。
注意为什么不把类加final修饰,因为可能该类中会出现很多功能。有些是不需要被覆写的。有些是被调用的。所以只能根据自己所需对相应的成员进行修饰。

作者: 徐传任    时间: 2012-10-10 12:17
看看...........................




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