1.final关键字
final --- finally 最终的 最后的 不能再变化的
final的作用:
).1.final修饰变量,成为常量,值不能再变化
).2.final修饰方法,不能被子类重写
).3.final修饰类,不能再有子类(final中的方法即使不使用final修饰,也不能被重写)
final不能修饰构造方法
引入:
Java中提供了哪些final常量、方法、类
Math
System
String
StringBuffer
final修饰基本数据类型,值只能赋值一次,后续不能再赋值
2.抽象类
定义:在java中,含有抽象方法的类称为抽象类,抽象类不能生成对象;
总结1:抽象类
* 1.使用abstract修饰
* 2.不能够实例化 new
* 3.抽象类必须有构造方法,创建子类对象的时候使用
* 4.一个抽象类至少0个抽象方法,至多(所有的方法都是抽象方法)个抽象方法
*
* 总结2:抽象方法
* 1.使用abstract修饰
* 2.抽象方法只有声明,没有方法体
* 3.public abstract void shout(){}不是抽象方法
* 4.子类必须重写父类的抽象方法,不重写就提示编译错误;或者子类也定义为抽象类
* 5.override 重写 implements 实现
* 父类的方法是抽象的,需要子类实现;父类的方法不是抽象的,子类可以重写
* 6.Animal dog = new Dog();
* 多态的向上转型,抽象类的实例化都是通过子类的实例化实现
抽象类的作用
* 1.抽象类首先是类,一般作为父类使用,体现的是is-a的关系 Dog is-a Animal
* 2.抽象类不能被实例化
* 3.抽象方法必须被子类实现
* 4.抽象类是一种模版模式。抽象类为所有子类提供了一个通用模版,子类可以在这个模版基础上进行扩展。