抽象类、final和接口

1、抽象类
abstract 放在定义类的最前面,有抽象方法的类一定是抽象类,抽象类不一定有抽象方法。

//有抽象方法的类一定是抽象类
abstract class A
{
	abstract public void f();  //没有方法体的方法叫做抽象方法,  抽象方法要求末尾必须得加分号,前面必须得加abstract
}
//抽象类不一定有抽象方法
abstract class B
{
	public void g()
	{
	}
}

public class TestAbstract_1
{
	public static void main(String[] args)
	{
	}
}

2、final
(1)、final类
final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。
(2)、final方法
如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。使用final方法的原因有二:
①把方法锁定,防止任何继承类修改它的意义和实现。
②高效,编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。
3、final变量(常变量)
用final修饰的成员变量表示常量,值一旦给定就无法改变,之后不能再被赋值;final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。

猜你喜欢

转载自blog.csdn.net/ZJKL_Silence/article/details/86028205
今日推荐