预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Java基础:抽象类和接口23<code>抽象类的语法,规则。      定义抽象类有三种情况:直接定义一个抽象类;或继承一个抽象类,但是没有完全实现父类包含的抽象方法;或实现一个接口,但没有完全实现接口中的抽象方法。       </code>     二.abstrac关键字abstract不能用来修饰成员变量和构造方法,即没有抽象变量和抽象构造方法的说法。abstract修饰的方法必须被其子类重写才有意义,否则这个方法永远不会有方法体,因此抽象方法不能定义为private,即为private和abstract不能同时修饰方法,abstract也不能和static,final或native同时修饰同一方法。三.使用抽象类抽象类不能实例化(不能new父类),只能被当成父类来继承。作为子类的模板。实例化它的子类,父类引用子类。第二节接口interface接口中的所有方法都是抽象方法一.a.接口;定义了某一批类所需要遵守的公共行为规范,只规定这批类必须提供的某些方法,而不是提供任何实现。体现了规范和实现的分离。是让系统的各个模块间面向接口耦合,是一种松耦合设计,降低模块间的耦合,增强系统的可扩展性和可维护性。b.定义一个接口,java只支持单一继承,不支持多重继承。java允许一个类实现多个接口,使得程序更加灵活、易于扩展。c.一个接口可以继承多个父接口,但接口只能继承接口,不能继承类;在接口里可以包含静态常量,抽象方法,内部类,内部接口以及枚举定义,java8之后允许定义默认方法,类方法;接口和类的默认访问符不同,接口体内定义的常量,方法等默认为public,可省略,即为接口定义的常量或方法不写public,其访问权依然是public。d.实现一个接口,(关键字implements)implements是一个类,实现一个接口用的关键字,它是用来实现接口中定义的抽象方法。实现一个接口,必须实现接口中的所有方法;但没有完全实现接口中包含的抽象方法的类是抽象类二.接口的继承注意点:a.和抽象类一样,接口是一种更加抽象的类结构,不能对接口直接实例化;可以声明接口变量,并且用接口指向当前接口实现类的实例。使用接口指向当前接口实现类的实例对象,这种方式也是多态性的体现。一个接口可以继承多个接口,这和类的继承是不同的;接口体现的是一种规范;抽象类体现的是一种模板式设计。接口中定义的变量都是常量;抽象类中的定义的变量与普通类一样,默认是缺省。三.implements和extends的区别:1234<code><code>Extends,表示对父类的继承,可以实现父类,也可以调用父类初始化this.parent()。而且会覆盖父类定义的.变量或者函数。      Implements,表示对接口的实现,接口通过关键字interface进行定义。eg:publicclassSimplementsF,在接口F中对方法进行声明,在类S中对该方法进行实现。      </code></code>     四.面向接口编程123<code><code><code>面向接口编程和面向对象编程的关系:      首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它是面向对象编程体系中的思想精髓之一。      </code></code></code>     什么是面向接口编程:譬如有一个Animal接口和一个NightWorking接口,公鸡实现了Animal接口,猫头鹰实现了Animal接口和NightWorking接口,还有一个实现了NightWorking接口的路灯,在Animal的范畴下,我们可以称公鸡和猫头鹰是同类事物,而在NightWorking的范畴下,我们可以称猫头鹰和路灯是同类事物,这里就是说对于animal接口来说,要看种类的话路灯是不会实现animal里面的NightWorking接口的