------- android培训、java培训、期待与您交流! ----------
一.final
final的中文意思是最后的意思,则顾名思义就是一次赋值终生不变
1.可以修饰类,函数,变量
2.final类不能被继承。里面的方法也就不能被子类复写了
3.被final修饰的变量只能够赋值一次,可以是成员变量也可以是局部变量
用final修饰的变量叫做常量,全部用大写表示
常量单词通过_链接,所有字母都是大写
4.内部类定义在类中的局部位置上时,只能访问该局部被final修饰变量,外面被final修饰的变量不能访问
类的修饰符:public,final,abstract
什么叫局部内部类?
局部内部类就是定义在一个方法中类,而方法中的类,访问一个方法中局部变量要加上final来修饰。
二.抽象类
其实是为了便于功能的扩展,只定义类中方法名,不定义具体方法
特点:1.抽象方法一定是在抽象类中
2.抽象方法必须被abstract关键字修饰
3.抽象类不可以用来new对象,必须由子类调用
4.子类如果只覆盖了部分内容,子类仍然是一个抽象类,那么这个子类仍然不能去创建对象了
5.抽象类不鞥实例化
6.抽象类中不可以定义抽象方法,只是为了不让抽象类建立对象
final:被final修饰的类一定是一个不能被继承的类
abstract:被abstract修饰的类一定是一个父类
private如果修饰了方法,那么就不能被复写,那么和抽象类就不能共存了
抽象类中是否有构造函数?
有,抽象类是一个父类,要给子类提供实例的初始化。
I三.Interface
什么是接口?
接口是一种特殊的抽象类,接口的方法必须全部是抽象的。一般类中方法可以不必须全部是抽象的
通常使用一个匿名内部类来实现接口
接口可以继承接口,但接口不能继承一般的抽象类,因为抽象类中可能有不抽象的方法
所以接口中的方法必须都是抽象的
注意事项:1.一个类可以实现多个接口,为了实现多态
2.接口中的方法必须都是public修饰的,变量都是static final的,static表示是全局的变量的变量
abstract和interface的区别
1.抽象类中可以有不抽象的方法,接口中的方法必须全部是抽象的
2.抽象类中的变量和方法没有默认修饰符,但是接口中的变量和方法有默认修饰符 public static final,或者public abstract
3.接口可以多实现,但不能多继承,继承可能是覆盖,但实现是补充完整
4.抽象类被继承了 ,抽象方法必须补充
5.抽象类是abstract class,接口是interface+类名
接口定义的特点:1常量和抽象方法
2.接口不能创建对象,要被子类全部实现后才能创建对象。