这个在JAVA的多态性中是怎么实现的?希望各位高人赐教!最好有个例子加以说明!不胜感激!!!!
解决方案 »
- JMF网络传输的问题!!!
- ArrayList list=new ArrayList()与List list=new ArrayList()的区别
- 小弟问一个有关正则表达式的事情
- 怎么得到jar文件中某个类的某个方法或者字段??
- 求采用3DES加密, ECB模式/使用PKCS7方式填充不足位JAVA程序?
- Java 6.0 来了
- 有关日期的显示问题---谢谢
- 求java夜未眠的电子版书的下载地址!!给分~~~
- visual cafe 怎么用啊!?
- 把JtextArea加入JSrollPane后,产生滚动条后,如何让textArea总是显示上面的部分。
- 类Action继承DispatchAction的问题!!!!!
- 新人求--八皇后算法--中的--棋盘遍历--
http://www.cs.usfca.edu/~parrt/course/652/lectures/polymorphism.html
一父类有多个子类,并且多个子类中都重写了父类中的一个方法,当以父类为引用,子类为对象时,调用这个方法它就是多态的一种实现:package alltest;class AA{
public void m1(){
}
}class BB extends AA{ @Override
public void m1() {
System.out.println("I am B.m1()");
}
}class CC extends AA{ @Override
public void m1() {
System.out.println("I am C.m1()");
}
}public class ExtendsTest{
public static void show(AA a){
a.m1();
}
public static void main(String[] args){
AA b = new BB();
AA c = new CC();
show(b);
show(c);
}
}OutPut:
I am B.m1()
I am C.m1()
调用a.m1(),其实是调用实际对象的的m1()方法,即运行时对象的方法
2:implements interfacepackage alltest;interface AA{
public void m1();
}class BB implements AA{
public void m1() {
System.out.println("I am B.m1()");
}
}class CC implements AA{
public void m1() {
System.out.println("I am C.m1()");
}
}public class ExtendsTest{
public static void show(AA a){
a.m1();
}
public static void main(String[] args){
AA b = new BB();
AA c = new CC();
show(b);
show(c);
}
}OutPut:
I am B.m1()
I am C.m1()
讲到interface又有好多特性,接口的回调,接口在类部内中的应用,接口来实现低耦合and so on... 太多了 自己看书 再看书 写代码 就懂了 。。
这个意思是说
Manager是Employee 的子类,当你new的时候new的是子类,接受的是父类普通点说就是经理是雇员的特殊形式,经理拥有雇员的一切权限,多态就是说一个事务有很多形态
例如:
public class man {
eat(){
System.out.println("eat");
}
eat(String str){
System.out.println("eat str");
}
}
方法eat(String str)对方法eat()进行了重载
man的引用可以同时调用两个方法 分别执行不同的功能
Manager 是 Employee 的一员