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

Java中的上下转型

见下边的程序段
package test;
class A {
    public String f(A obj)
    {
        return("A");
    }
}
class B extends A {
    public String f(B obj)
    {
        return("C");
    }
    public String f(A obj)
    {
        return("D");
    }
}
我们使用子类创建一个对象:
B b = new B();
然后再将这个子类的引用放到父类对象中:
A a;
a = b;
那么这个父类对象a是子类对象b的上转型对象,对象的实体由子类负责建立,实质还是子类,只是损失了一些功能而已,这样的得失具体如下:
得:上转型对象可以操作和使用子类继承或者重写的方法。
失:上转型对象丧失了对子类新增成员变量或新增的方法的操作和使用。
那么下边的这段测试代码的打印结果就是“D”,因为a2只能有public String f(A obj) 这个方法是可以用的。
public class TestObj
{
    public static void main(String args[])
    {  A a1 = new A();
        A a2 = new B(); //子类对象转化为父类,称为上转型,不需要强制转换。
        B b = new B();
        System.out.println(a2.f(b)); //“D”
        System.out.println();
         if (a2 instanceof B) {
             B b1 = (B) a2;  //父类对象转化为下转型,此时需要使用强制转换,此时需要先判断要转换的这个对象(也就是a2指向的这个对象)是不是B类的实例
            System.out.println(b1.f(b));//"C"
      


相关文档:

JAVA学习笔记第一讲091031

数据类型:
(4类8种)
逻辑型-boolean
字符型- char
数值型:
整数型- byte,  short,  int,  long
浮点数型- float,  double
·Java 语言中还允许使用转义字符 ‘\’ 来将其后的字符转变为其它的含义.‘\n’代表换行符
·Java整型常量默认为int型,声明lon ......

JAVA与actionscript通信 别人的经验

 问题:
服务器是用java写的,客户端是用actionscript(使用amf3)写的,但是服务器端只发送了两次信息,
客户端却接收到三次数据,服务器端也是同样的问题,接收到客户端的三次数据,但是客户端也只发了
两次信息。
由于socket传输数据时是按固定的大小传送字节数据的,但是在flash客户端读取的
时候是靠一 ......

java上传文件实例

 package com.yc.eap.util;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.common ......

Oracle Function调用java代码

 原文传送门:http://www.blogjava.net/improviser/archive/2008/12/07/244911.html
在前一篇文章中简单介绍了JAVA程序如何调用Oracle存储过程的基本语法程序结构, 本文将介绍JAVA跟Oracle的另一种关系,即通过JAVA编写Oracle存储过程。 通常情况下,我们都是使用Oracle数据库系统中的ps/sql语句来为oracle编写 ......

Java创建线程

 Java使用两种方法来处理多线程
第一种是子类化Thread对象。 Thread对象是Java提供的封装线程的对象。如果子类化Thread类,则必须重载这个类中的run方法以提供由这个特殊线程执行的代码。因为Java不支持多重继承,所以如果你的类需要子类化另一个类,那么就不能子类化Thread对象。
第二种是实现由Java提供的Runnable ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号