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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/* final
(1)是一个关键字,可以用于修饰类,成员变量,成员方法。
(2)特点:
        它修饰的类不能被继承。
        它修饰的成员变量是一个常量。常量要大写
        它修饰的成员方法是不能被子类重写的。
*/
class Fu
{
        public final int X = 10;

        public final void show()
        {
                System.out.println("这是绝密资源");
        }
}

class Zi extends Fu
{
        /*
        public void show()
        {
                System.out.println("这是一堆垃圾,给处理了");
        }
        */

        public void method()
        {
                //X = 20;      这里编译就不会通过因为final修饰X,所以X不能被改变编译会报: 无法为最终变量X分配值
                System.out.println(X);
        }
}

class FinalDemo
{
        public static void main(String[] args)
        {
                Zi z = new Zi();
                z.show();
                z.method();
        }
}
到这里我们都可以理解,然而接下来我说的重点来了
class Student
{
        private String name;
        public Student(){}
        public Student(String name)
        {
                this.name=name;
        }
        public void setName(String name)
        {
                this.name=name;
        }
        public String getName()
        {
                return this.name;
        }
}
class  FinalDemo
{
        public static void main(String[] args)
        {
                final Student S1=new Student("刘亦菲");
                S1.setName("高圆圆");
                System.out.println(S1.getName());
                // final修饰的引用数据类型,指的是该引用的指向不再发生改变(即该引用的地址值不再发生改变)
                // 而对象内部还可以发生改变
        }
}
这样最终输出的是高圆圆就把原有的刘亦菲覆盖了,大家懂了吗?

评分

参与人数 1黑马币 +4 收起 理由
Red_Archer + 4 哦,楼主是大神呀。

查看全部评分

8 个回复

正序浏览

嗯,知道了.哈哈哈
回复 使用道具 举报
范玉 中级黑马 2015-7-14 22:26:19
8#
胡家兵 发表于 2015-7-14 22:00
你不是那个我们副班

我是啊...范玉
回复 使用道具 举报
这个可以有啊
回复 使用道具 举报
范玉 发表于 2015-7-13 23:05
恩.好吧,今天老师刚讲的,好好学吧加油

你不是那个我们副班
回复 使用道具 举报
学习了,我还没学到这里呢
回复 使用道具 举报
总结的不错
回复 使用道具 举报
恩.好吧,今天老师刚讲的,好好学吧加油
回复 使用道具 举报
写的好,,学到了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马