热门
最新
红包
立Flag
投票
同城
我的
发布
我是不会赢的dhdhdvdg
2 年前
trueweixin_53432918
滑动窗口内层循环,到底什么时候用满足条件,什么时候用不满足条件啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!
下一条:
继承 抽象类,实现 接口抽象类可以实现接口,接口只能继承接口,不能继承类,一个类最多只能继承一个父类,但可以实现多个接口当既能用抽象类,也能用接口时,选接口,子类灵活度更高抽象类进一步抽象后 诞生接口,接口比抽象类更纯粹,因为接口没有成员属性。子类实现接口后唯一能做的就是重写方法,子类继承抽象类后,也继承了父类的成员属性,抽象类可以定义成员属性,接口不能定义成员属性,只能定义静态属性,而且只能用final关键字定义静态常量,不能定义静态变量。接口除了没有成员属性外,还没有构造器。结构就是一个只有方法和静态常量的类接口构造器的作用:限制子类的构造行为,比如抽象类可以将构造器定义好几个参数,子类要想实例化,必须想办法传入这几个参数。版本:java8之前接口只能定义抽象方法,不能自己实现,也不能定义静态方法,8之后,可以定义静态方法,可以用defalut实现方法。为什么在java8中加入这个特性,因为java8中许多原有的接口新增了很多方法,这些新增的方法会影响到原有的子类,如果继承了某个接口,接口中有新增的方法,而你没有实现这个方法,子类就会编译失败,为了保证向下兼容,就引入了default关键字,即使子类没有实现方法也能正常被编译.被default修饰的方法就不是抽象方法了,defalut在抽象方法中默认实现大量逻辑,可是一个方法中实现复杂逻辑,就会导致方法难以维护。于是java9推出新特性可以在接口中定义private方法,可以将一些内部逻辑拆开,当需要让子类继承成员变量,或需要控制子类的实例化时,就用抽象类,否则就用接口
立即登录