java继承
2015-08-21 16:05
459 查看
继承可以被定义为其中一个对象获取的另一个特征的过程。使用继承的信息是在一个等级秩序作出管理。当我们谈到继承,最常用的关键字是extends和implements。这些话会确定一个对象是否IS-A类型的另一个。通过使用这些关键字,我们可以使一个对象获得另一个对象的属性。
动物是爬虫类的超类。
哺乳动物和爬行动物是动物类的子类。
狗是哺乳动物双方和动物类的子类。
现在,如果我们考虑了IS-A关系,我们可以说:哺乳动物IS-A 动物
爬行动物IS-A的动物
狗IS-A哺乳动物
因此:狗IS-A动物
使用extends关键字的子类就可以,除了超类的私有属性外,它继承超类的所有属性。我们可以保证,哺乳动物实际上是与使用实例操作符的动物。
本文出自 “听雨盼永恒” 博客,请务必保留此出处http://yongguang.blog.51cto.com/9153118/1686871
IS-A 关系:
IS-A(是一个)是一种表达:这个对象是一个类型的对象。让我们来看看如何使用extends关键字来实现继承。public class Animal{}public class Mammal extends Animal{}public class Reptile extends Animal{}public class Dog extends Mammal{}现在,根据上面的例子中,在面向对象的术语中,满足下列条件:动物是哺乳动物类的超类。
动物是爬虫类的超类。
哺乳动物和爬行动物是动物类的子类。
狗是哺乳动物双方和动物类的子类。
现在,如果我们考虑了IS-A关系,我们可以说:哺乳动物IS-A 动物
爬行动物IS-A的动物
狗IS-A哺乳动物
因此:狗IS-A动物
使用extends关键字的子类就可以,除了超类的私有属性外,它继承超类的所有属性。我们可以保证,哺乳动物实际上是与使用实例操作符的动物。
例子:
public class Dog extends Mammal{ public static void main(String args[]){ Animal a = new Animal(); Mammal m = new Mammal(); Dog d = new Dog(); System.out.println(m instanceof Animal); System.out.println(d instanceof Mammal); System.out.println(d instanceof Animal); }}这将产生以下结果:
truetruetrue既然extends关键字让我们研究如何使用implements关键字来获得对IS-A关系有很好的理解。implements关键字被使用的类从接口继承。接口永远不能凭借它的类进行扩展。
例子:
public interface Animal {}public class Mammal implements Animal{}public class Dog extends Mammal{}
instanceof 关键字:
用instanceof操作符检查确定哺乳动物是否实际上是一个动物,而狗实际上是一种动物interface Animal{}class Mammal implements Animal{}public class Dog extends Mammal{ public static void main(String args[]){ Mammal m = new Mammal(); Dog d = new Dog(); System.out.println(m instanceof Animal); System.out.println(d instanceof Mammal); System.out.println(d instanceof Animal); }}这将产生以下结果:
truetruetrue
HAS-A 关系:
这些关系主要是基于使用。这就决定了某一类是否 HAS-A 某一个东西。这种关系有助于减少重复代码,以及错误。让我们研究一个例子:public class Vehicle{}public class Speed{}public class Van extends Vehicle{ private Speed sp;}这表明,Van类 HAS-A Speed类。通过让飞车一个单独的类,我们不必把属于加速Van 类中的全部代码。这使得它可以重复使用Speed类在多个应用程序。在面向对象的功能,用户无需理会哪个对象是做实际工作。要做到这一点,Van类隐藏用户的执行细节。所以基本上会发生什么是用户会问Van类来执行某些动作,Van类要么本身做的工作或要求另一个类执行的操作。要记住的一个非常重要的事实是,Java只支持单一继承。这意味着,一个类不能扩展多个类。因此,以下是非法的:
public class extends Animal, Mammal{}因此,一个类可以实现一个或多个接口。这使得Java要摆脱多重继承是不可能的。
本文出自 “听雨盼永恒” 博客,请务必保留此出处http://yongguang.blog.51cto.com/9153118/1686871
相关文章推荐
- java变量类型
- Error: opening registry key 'Software\JavaSoft\Java Runtime Environment' could not find java.dll
- SpringMVC 表单提交参数不匹配报错
- springmvc学习笔记(二)路径配置与数据传递
- Java并发编程:同步容器
- selenium-java常用方法封装:
- java 之 注册表操作篇
- JAXB与java对象的转换
- java基础之集合框架Collection详解
- SpringMvc与Struts2的对比啦
- Java中的内部类
- Java动态库调用
- 一:HTML文本编译器 kindeditor-4.1.10 的使用 SpringMVC+jsp的实现
- 大写数字金额
- spring揭秘 读书笔记 二 BeanFactory的对象注册与依赖绑定
- spring揭秘 读书笔记 二 BeanFactory的对象注册与依赖绑定
- Eclipse常用快捷键
- eclipse快捷键大全
- 打包jar文件
- Java中的泛型方法