最终 final

final
可以用来修饰类,方法,变量。
  • 修饰类的时候,该类不能被继承。
  • 修饰方法的时候,该方法不能被重写。
  • 修饰变量的时候,该变量只能被赋值一次。
public class Student {
    public final int a = 10;
	
	public int getA() {
		return a;
	}

	public final void introduce() {
		System.out.println("我是一个学生");
	}
}

如上述代码
当添加set方法后程序是正确的我们可以得到a的值,但是当我们试图用set方法改变这个值的时候就会报错
在这里插入图片描述
这里的报错信息是:The final field Student.a cannot be assigned。
也就是印证了上面的修饰变量的时候该变量只能被赋值一次。

接下来我们定义一个大学生类去继承学生类。而后我们去试图重写它的introduce方法,也就是重写这个静态方法。

在这里插入图片描述
其将会出现如下报错信息:
Cannot override the final method from Student。
也就是静态方法不能够重写。

接下来我们将这个类改为静态类:

public final class Student {
    public final int a = 10;
	
	public int getA() {
		return a;
	}
	public final void introduce() {
		System.out.println("我是一个学生");
	}
}

而后我们再书写一个类去试图继承这个类:如下的大学生类
在这里插入图片描述
这里报错信息如下:
The type College_Students cannot subclass the final class Student。
也就是这个是最终类不能够被继承。

发布了64 篇原创文章 · 获赞 2 · 访问量 857

猜你喜欢

转载自blog.csdn.net/cdut2016/article/details/103850196