[java语法]基本语法(7) 面向对象--抽象类与接口

来源:互联网 发布:php程序员简历模板下载 编辑:程序博客网 时间:2024/06/05 20:11
抽象类
1、抽象类——包含抽象方法的类就叫做抽象类。一个抽象类中可以有一个或多个抽象方法。
2、抽象方法的写法:abstract 返回值类型 抽象方法名(参数列表)
3、抽象方法用abstract关键字修饰,只需要声明不需要实现。带有抽象方法的类必须也用abstract声明为抽象类。
4、抽象类不能被实例化,其子类必须覆盖所有的抽象方法后才能被实例化,否则其子类也还是抽象类。
 
接口
1、接口是一种特殊的抽象类,其中只包含常量和方法的定义,而没有变量和方法的实现。
2、接口中定义的变量是全局静态常量,默认是用public staticfinal标记的。
3、接口可以继承接口。如果一个类只实现了接口中定义的部分方法,那么这个类是抽象类。
4、一个类可以在继承一个父类的同时实现一个或多个接口,此时extends关键字必须位于implements关键字之前。
5、设计接口的目的是为了让类不必受限于单一继承的关系,而可以灵活的同时继承一些共有的特性,从而达到多重继承的目的。
 
对象的多态性
1、子类能够自动转换为父类类型。如:Bird b = newBird();  Animal a = b;
2、父类转换为子类需要进行强制类型转换,强制类型转换的前提是需要提前知道要转换的父类引用类型对象的本来面目确实是子类类型的。
3、可以使用instanceof操作符判断一个类是否实现了某个接口,或用来判断一个实例对象是否属于某个类。其语法格式为:对象instanceof 类(或接口)
              如果 对象 是 class 的一个实例,则 instanceof 运算符返回 true。如果 对象 不是指定类的一个实例,或者 对象是 null,则返回 false。
4、Object类是Java类层中的最高层类,是所有类的超类。自定义类中必须覆盖Object类的equals方法,否则调用的是Object类的equals方法。
0 0
原创粉丝点击