java类型转换总结
类型转换总结:
1.原型数据byte,short,int,long,float,double,char,boolean,小类型数据可以直接赋给大类型数据例如
int a=1;byte b=2;short c=3;float d=3;double e=4;char f='a';boolean g=true;long l=10;
c=b;
a=f;
d=a;
e=d;
byte型数据不能直接赋给char型数据,因为byte表示的是8位有符号数,而char表示的是16位无符号数。同理short型数据(16位有符号数)与char型数据也不能直接通过赋值转换。
boolean不能与其他任何原型数据转换。
2.大类型数据可以强制转换成小类型数据。
如b=(byte)a;c=(short)a;a=(int)l;b=(byte)f;
3.原型数据的数组没有大小之分,不可相互转换,例如
byte[] ba;
short[]sa;
ba=sa或sa=ba;都是错的,强制转换也不行。
4.对象类型数据的转换
Object类型变量可以直接引用任何类型的对象,具有继承关系的类之间,父类型(大类类型)变量可以直接引用子类型(小类类型)对象,在父类类型的引用变量引用的是子类类型对象或者子子类类型对象时,该引用变量才可以强制转换成对应的子类类型引用。一句话要看该引用变量所引用的具体对象的类型能不能强制转换成目的类型。举例说明如下
正确的转换:
Object oa=new Integer(5);
Integer ia=(Integer)oa;
oa引用的是Integer类型对象,Integer类型引用ia当然可以指向它。
错误的转换:
Object oa=new Object();
Integer ia=(Integer)oa;
oa引用的是Object类型对象,Integer类型引用ia不能指向它的父类类型的对象。
正确的转换:
class A{
}
class B extends A{
}
class C extends B{
}
Object oa=new C();
B b=(B)oa;
oa引用的是C类类型对象,而类C继承了类B,所以B类型引用b可以指向它的子类类型的对象。
5.对象数组的转换关系和类的转换关系一样。
如果B类继承了A类,则
B[]b=new B[2];
A[]a;
a=b;
正确。
A[]a=new B[2];
B[]b;
b=(B[])a;
也是正确的。
6.接口向类(Object类除外)转换一定要用强制转换,不同类型的接口之间可以用强制转换。举例说明如下,
interface A{
}
interface B{
}
class C implements A{
}
class D extends C implements B{
}
A a=new D();
C c=(C)a;//使用了强制转换
A b=new C();
Object o=b;//对于Object没有使用
B c=new D();
A d=(A)
相关文档:
The clone( ) method generates a duplicate copy of the object on which it is called. Only classes that implement the Cloneable interface can be cloned.
...clone()产生了一个调用它的对象的复制;只有实现了Cloneable接口的类才可以被复制。
The Cloneable interface defines no ......
Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。
Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C ......
问题一:如保加载JDBC驱动程序:
正常我们加载驱动程序有三个途径:
1.Class.forName(String)这想当于classLoader一个String指定的类,在装载时把该驱动程序的静态内容都初始化,其实这时驱动程序类调用了DriverManager.registerDriver(driver)方法。
2.使用系统属性:System.getPro ......
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配 ......
package com.wfy.system.dao;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
......