Abstract 抽象类
抽象类的特点
1:抽象方法一定在抽象类中
2:抽象方法和抽象类必须用abstract创建
3: (不可实例化)抽象类不可以用new创建对象,必须由子类复写方法后,创建子类对象
4:如果子类只覆盖了部分抽象方法(没有完全覆盖抽象类(父类))的抽象方法,那么这个子类也是抽象类
5:抽象类有构造函数,要给子列进行实例化
###########################################################################################
Final
Final 类
①final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。
② Final 方法
如果一个类不允许其子类覆盖某个方法,则可以把这个类声明为Final类
使用 Final的方法的目的
第一.把方法锁定,防止任何集成类修改它的意义和实现
第二.搞笑。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率
③Final 变量
Final 变量一旦赋初值就不能被改变
④Final参数
Final参数,不能被改变
############################################################################################
Static
Static Static 前面可以有限定符(全局或者静态)
Static比创建对象先执行
可以用类或者对象调用(但是不推荐后者)
静态方法中不允许有this super关键字
Java 静态代码块
JVM按照次序将他们先后执行
Java 类中都有一个static方法的main函数
在类初始化的时候就执行
Static 和final一起使用表示 全局常量
###################################################
interface
1:接口声明了许多函数,就类似与一个无极大父类
2:接口弥补了类不能多继承的缺点
3:接口的方法只能是抽象和公开的,java接口可以有publick,static,final属性
4:接口没有构造方法
5:接口不能包含成员变量,除了static和final变量
6:接口不能被类继承,而是要被类实现。
7: 接口中的方法都是公有的
8:接口中不能包含实例域或静态方法
9:接口与接口之间可以是继承关系,而且可以实现多继承
10:对于接口中的固定修饰符,可以省略。
11:一个类实现多个接口时,接口与接口之间要用逗号隔开。
12:接口的变量必须引用实现了接口的类对象
接口的使用
两个类中两个类似的功能,为他们提供一个抽象父类,然而,java是一种单继承语言(解决的办法是给他的父类添加父类,或者添加爷爷类)
接口增添了类的可插入性
接口提高了软件的灵活性和可扩展性
如果一个类已经有了一个主要的超类型,那么通过实现一个接口,这个类可以拥有另一个次要的超类型,这种次要的超类型叫做混合类型。