基本类型:
int a=2
int b=3
a=b//把b的值赋值给a
System.out.println("a="+a)//结果a=3
a=4;
System.out.println("a="+a)//结果a=4
System.out.println("b="+b)//结果b=3,对a的操作不会影响b的值
引用类型:
class Person{
int age
}
public class Assignment{
public static void main(String[] args){
Person p1=new Person()
p1.age=20
Person p2=new Person()
p2.age=30
p1=p2//将p2存储的Person对象内存地址赋值给p1,此时p1和p2变量存储的是相同的内存地址,指向同一对象
p1.age=40
System.out.println(p2.age)//结果40;说明修改p1的值影响p2
}
}
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是本身就是一个安全隐患。
那么泛型的好处就是在编译的时候能够检查类型安全,并且所有的强制转换都是自动和隐式的。本质上T,E,K,V都是通配符,没啥区别,只不过是编码时的一种约定俗成的东西。比如上述代码中的 T ,我们可以换成 A-Z 之间的任何一个 字母都可以,并不会影响程序的正常运行。
但是如果换成其他的字母代替 T ,在可读性上可能会弱一些。通常情况下,T,E,K,V,?是这样约定的:?表示不确定的 java 类型。T (type) 表示具体的一个java类型。K V (key value) 分别代表java键值中的Key Value。E (element) 代表Element。
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,
JavaEE,
JavaME)的总称。K-JAVA即J2ME(Java
2
Micro
Edition),是专门用于嵌入式设备的JAVA软件。
一般我们常称呼的JAVA指的是手机的JAVA平台或者JAVA应用软件,kjava
就是手机JAVA应用软件的类别。其实JAVA首先是一种编程语言的!手机上所说的JAVA只是JAVA平台的一类,即JAVAME。KJAVA是手机软件中比较新的一种标准,在此之前还有别的适用于手机的JAVA标准也笼统成为JAVA。