- 浏览: 458764 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (272)
- java基础 (59)
- struts (8)
- spring (8)
- 数据库 (8)
- java 网络编程 (29)
- hibernate (3)
- JavaScript (10)
- 日志管理 (2)
- jsp (4)
- servlet (7)
- xml (4)
- ajax (2)
- web service (4)
- 算法与数据结构 (13)
- java 反射机制 (11)
- java 泛型 (3)
- java I/O (8)
- java 线程 (12)
- JavaEE (6)
- java解惑 (33)
- 工具 (5)
- MyEclipse编程实践 (1)
- OSGI (2)
- 设计模式 (9)
- 正则表达式 (0)
- EJB (3)
- Ubuntu linux (6)
- Android (1)
- web前端 (2)
- 找工作 (1)
- SCA (1)
- maven (1)
- 缓存 (1)
- json (1)
- javamail (1)
- 工作笔记 (2)
最新评论
-
霜花似雪:
博主可以分享一下源码吗?
使用maven构建web项目实例 -
王庆波-行:
很好的demo!
memcache使用实例 -
surpassno:
大写的牛逼
java可视化显示内存使用情况 -
zhulin0504:
怎么访问NetEcho.html页面呀???
applet与servlet的网络通信 -
springdata:
java多线程实例demo源代码下载:http://www.z ...
java多线程例子
继承、多态、重载、重写
继承
java中有三种类:类,抽象类,接口,他们的继承关系是:
1,类可以继承(extends)类,可以继承(extends)抽象类,可以继承(implements)接口。
2, 抽象类可以继承(extends)类,可以继承(extends)抽象类,可以继承(implements)接口。
3, 接口只能继承(extends)接口。
继承的约束:
1. 类和抽象类都只能最多继承一个类,或者最多继承一个抽象类,并且这两种情况是互
斥的,也就是说它们要么继承一个类,要么继承一个抽象类。
2. 类、抽象类和接口在继承接口时,不受数量的约束,理论上可以继承无限多个接口。
当然,对于类来说,它必须实现它所继承的所有接口中定义的全部方法。
3. 抽象类继承抽象类,或者实现接口时,可以部分、全部或者完全不实现父类抽象类的
抽象(abstract)方法,或者父类接口中定义的接口。
4. 类继承抽象类,或者实现接口时,必须全部实现父类抽象类的全部抽象(abstract)方
法,或者父类接口中定义的全部接口。
继承可以实现类的复用,除了继承,采用组合方式也可以实现类的复用。
所谓组合就是把原有类定义为新类的一个属性,通过在新类中调用原有类的方法来实现复用
多态
运行结果:1. 车型:BMW 单价:300000
2. 车型:CheryQQ 单价:20000
3. 总收入:320000
多态是在继承的基础上实现的,将一个方法调用同这个方法所属的主体(也就是对象或类)关联起来叫做绑定,分前期绑定和后期绑定两种。下面解释一下它们的定义:
1. 前期绑定:在程序运行之前进行绑定,由编译器和连接程序实现,又叫做静态绑定。
比如static方法和final方法,注意,这里也包括private方法,因为它是隐式final的。
2. 后期绑定:在运行时根据对象的类型进行绑定,由方法调用机制实现,因此又叫做动
态绑定,或者运行时绑定。除了前期绑定外的所有方法都属于后期绑定。
多态就是在后期绑定这种机制上实现的。
重载、重写(overloading,overriding)
重写,英文名是overriding,是指在继承情况下,子类中定义了与其基类中方法具有相同
型构的新方法,就叫做子类把基类的方法重写了。这是实现多态必须的步骤。
重载,英文名是overloading,是指在同一个类中定义了一个以上具有相同名称,但是型构
不同的方法。在同一个类中,是不允许定义多于一个的具有相同型构的方法的。
继承
java中有三种类:类,抽象类,接口,他们的继承关系是:
1,类可以继承(extends)类,可以继承(extends)抽象类,可以继承(implements)接口。
2, 抽象类可以继承(extends)类,可以继承(extends)抽象类,可以继承(implements)接口。
3, 接口只能继承(extends)接口。
继承的约束:
1. 类和抽象类都只能最多继承一个类,或者最多继承一个抽象类,并且这两种情况是互
斥的,也就是说它们要么继承一个类,要么继承一个抽象类。
2. 类、抽象类和接口在继承接口时,不受数量的约束,理论上可以继承无限多个接口。
当然,对于类来说,它必须实现它所继承的所有接口中定义的全部方法。
3. 抽象类继承抽象类,或者实现接口时,可以部分、全部或者完全不实现父类抽象类的
抽象(abstract)方法,或者父类接口中定义的接口。
4. 类继承抽象类,或者实现接口时,必须全部实现父类抽象类的全部抽象(abstract)方
法,或者父类接口中定义的全部接口。
继承可以实现类的复用,除了继承,采用组合方式也可以实现类的复用。
所谓组合就是把原有类定义为新类的一个属性,通过在新类中调用原有类的方法来实现复用
public class Sub { private Parent p = new Parent(); public void doSomething() { // 复用Parent类的方法 p.method(); // other code } } class Parent { public void method() { // do something here } }
多态
//汽车接口 interface Car { // 汽车名称 String getName(); // 获得汽车售价 int getPrice(); } // 宝马 class BMW implements Car { public String getName() { return "BMW"; } public int getPrice() { return 300000; } } // 奇瑞QQ class CheryQQ implements Car { public String getName() { return "CheryQQ"; } public int getPrice() { return 20000; } } // 汽车出售店 public class CarShop { // 售车收入 private int money = 0; // 卖出一部车 public void sellCar(Car car) { System.out.println("车型:" + car.getName() + " 单价:" + car.getPrice()); // 增加卖出车售价的收入 money += car.getPrice(); } // 售车总收入 public int getMoney() { return money; } public static void main(String[] args) { CarShop aShop = new CarShop(); // 卖出一辆宝马 aShop.sellCar(new BMW()); // 卖出一辆奇瑞QQ aShop.sellCar(new CheryQQ()); System.out.println("总收入:" + aShop.getMoney()); } }
运行结果:1. 车型:BMW 单价:300000
2. 车型:CheryQQ 单价:20000
3. 总收入:320000
多态是在继承的基础上实现的,将一个方法调用同这个方法所属的主体(也就是对象或类)关联起来叫做绑定,分前期绑定和后期绑定两种。下面解释一下它们的定义:
1. 前期绑定:在程序运行之前进行绑定,由编译器和连接程序实现,又叫做静态绑定。
比如static方法和final方法,注意,这里也包括private方法,因为它是隐式final的。
2. 后期绑定:在运行时根据对象的类型进行绑定,由方法调用机制实现,因此又叫做动
态绑定,或者运行时绑定。除了前期绑定外的所有方法都属于后期绑定。
多态就是在后期绑定这种机制上实现的。
重载、重写(overloading,overriding)
重写,英文名是overriding,是指在继承情况下,子类中定义了与其基类中方法具有相同
型构的新方法,就叫做子类把基类的方法重写了。这是实现多态必须的步骤。
重载,英文名是overloading,是指在同一个类中定义了一个以上具有相同名称,但是型构
不同的方法。在同一个类中,是不允许定义多于一个的具有相同型构的方法的。
发表评论
-
数据库及struts面试题
2011-06-22 11:07 1026数据库部分 Q: What is SQL? ... -
EJB面试题
2011-06-22 10:54 1095Q: What are the different kinds ... -
java中的servlet面试题
2011-06-22 10:43 1077Q: Explain the life cycle metho ... -
java中JSP的面试题
2011-06-22 10:22 1506Q: What is a output comment? (可 ... -
java中的集合面试题
2011-06-22 10:12 689Q: What is the Collections API? ... -
彻底搞清楚java的内部类
2011-06-15 10:47 1454内部类允许在一个类中 ... -
细说java(java中的浮点数十六进制表示)
2011-06-12 16:48 3509java中浮点数不能用八进制表示,但可以用十六进制表示,只能用 ... -
SCJP试题
2011-06-09 16:14 1143package scjp; public class T ... -
java面试题解惑 之 多线程
2011-06-02 17:24 9501,多线程 线程或者说 ... -
java面试题解惑 之变量初始顺序,变量覆盖,字符串池,final,finally区别
2011-06-02 16:26 7631,变量初始化顺序 package com.qdu.sun; ... -
java解惑(Map的使用,静态导入方法,线程中断interrupted与线程死锁)
2011-05-17 12:38 1363Map的使用 package other; import ... -
java 继承的一个问题(想不明白)
2011-04-13 17:03 884java中的继承问题,以为是学会了java,结果最简单的一个j ... -
java解惑(谜题76。。)
2011-03-09 11:22 1178谜题76:乒乓public class PingPong { ... -
java解惑(谜题60,65)
2011-03-08 15:52 886一行以毙之 1,编写一个 ... -
java解惑(谜题66。。。)
2011-02-28 20:54 913谜题66:一件私事 class Base{ public ... -
java解惑(谜题61。。。)
2011-02-28 20:17 885谜题61:日期游戏 import java.util.Cal ... -
java解惑(谜题56到。。库之谜)
2011-02-28 19:41 828谜题56:大问题 import jav ... -
java解惑(谜题49。。)
2011-02-27 10:52 924谜题49:比生命更大 import java.util.Cal ... -
java解惑(谜题41到谜题)
2011-02-27 10:18 885谜题41:域和流 下面的 ... -
谜题36-谜题
2011-02-25 10:55 860谜题36:优柔寡断 public ...
相关推荐
作者:臧圩人 JAVA面试题解惑系列博客文章...1.9 JAVA面试题解惑系列(九)——继承、多态、重载和重写 1.10 JAVA面试题解惑系列(十)——话说多线程 1.11 JAVA面试题解惑系列(十一)——这些运算符你是否还记得?
java 重载,重写以及继承,多态的区别
【Java面试题】谈谈对Java多态的理解
来自网络,主要包括以下内容:1、类初始化的顺序;2、到底创建了几个String对象;3、变量(属性)的覆盖;...9.继承,多态,重载,重写;10.多线程;11.运算符总结。 适合将要笔试面试Java的朋友参考。
主要介绍了Java中继承、多态、重载和重写介绍,需要的朋友可以参考下
[Java]重载,重写以及继承,多态的区
Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析
Java第8章 继承和多态含源代码 Java第8章 继承和多态含源代码Java第8章 继承和多态含源代码 Java第8章 继承和多态含源代码 Java第8章 继承和多态含源代码 Java第8章 继承和多态含源代码
封装继承多态总结
9、Java面向对象之继承和多态作业题[收集].pdf
Educoder题目:Java面向对象 - 封装、继承和多态答案解析
上传这些东西,一是为了互相学习;二是为了补充在金融危机下的择业艰难者的信心。硬盘里的东西比较多,如果大家有需要,可以联系我,大家互相帮忙,希望对朋友们有帮助。
继承多态重载与接口PPT学习教案.pptx
java多态、继承练习题,包含题目与答案,............................................................................................................
详细描述继承,多态的概念和应用,阐述重载和重写的区别
JAVA面向对象基础测试题-继承-封装-多态等测试题.docx
实现重载(overload)和重写(override) 调用中用到多态,向上转换,强制转换 所有被创建的类,都各自创建两个实现接口 最底层的类中创建内部类,并在外部类中调用内部类的方法
这个PPT详细展示了java的多态重载和重写,展示了重载和覆盖的不同点及区别办法
面向对象的概念 掌握类的继承、方法重写、super关键字的使用、final关键字 熟悉面向对象继承和多态的概念