易截截图软件、单文件、免安装、纯绿色、仅160KB

java中的多态

面向对象编程有三个特征,即封装、继承和多态。
 
    封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。
 
    继承是为了重用父类代码,同时为实现多态性作准备。那么什么是多态呢?
 
    方法的重写、重载与动态连接构成多态性。Java之所以引入多态的概念,原因之一是它在类的继承问题上和C++不同,后者允许多继承,这确实给其带来的非常强大的功能,但是复杂的继承关系也给C++开发者带来了更大的麻烦,为了规避风险,Java只允许单继承,派生类与基类间有IS-A的关系(即“猫”is a “动物”)。这样做虽然保证了继承关系的简单明了,但是势必在功能上有很大的限制,所以,Java引入了多态性的概念以弥补这点的不足,此外,抽象类和接口也是解决单继承规定限制的重要手段。同时,多态也是面向对象编程的精髓所在。
 
    要理解多态性,首先要知道什么是“向上转型”。
 
    我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类。我可以通过
 
 
 
Cat c = new Cat();
实例化一个Cat的对象,这个不难理解。但当我这样定义时:
 
 
 
Animal a = new Cat();
这代表什么意思呢?
 
    很简单,它表示我定义了一个Animal类型的引用,指向新建的Cat类型的对象。由于Cat是继承自它的父类Animal,所以 Animal类型的引用是可以指向Cat类型的对象的。那么这样做有什么意义呢?因为子类是对父类的一个改进和扩充,所以一般子类在功能上较父类更强大,属性较父类更独特,定义一个父类类型的引用指向一个子类的对象既可以使用子类强大的功能,又可以抽取父类的共性。所以,父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的;同时,父类中的一个方法只有在在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用;对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态连接。
 
再来看下面这段程序:
 
class Father {
    public void func1() {
        func2();
  &n


相关文档:

关于Java函数调用的一点体会

首先请大家看看下面两段代码有什么区别:
代码1:
List<Task> tasks = new ArrayList<Task>();
Task[] allTask = DemoData.getTasksData();
 for(int i=0;i<allTask.length;i++){
        tasks.add(allTask[i]);
 }
------------------------------------- ......

java基础回顾 封装继承多态


面向对象编程有三个特征,即封装、继承和多态。
    封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。
    继承是为了重用父类代码,同时为实现多态性作准备。那么什么是多态呢?
    方法的重写、重载与 ......

java学习笔记 2.基本数据类型

1.整数
byte    1字节
short   2字节
int      4字节
long    8字节
2.浮点
float
double
提示
(1) 浮点型的值,如果没有特别指明,默认是 double 型的
(2) 定义 float 型的时候,一定要指明是 float 型的,可以通过在数字后面添加&rd ......

JAVA 连接池 BoneCP 测试(2) with spring 3

额外JAR包:
org.springframework.expression-3.0.1.RELEASE.jar
org.springframework.asm-3.0.1.RELEASE.jar
org.springframework.beans-3.0.1.RELEASE.jar
p:statementCacheSize="100"
<bean id="masterDataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close"
p:driverClass="com.m ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号