一些关于Java的琐碎知识点
作者:网络转载 发布时间:[ 2013/12/9 10:13:05 ] 推荐标签:
27、有的接口中没有任何抽象方法,如cloneable,叫作标识接口。它仅仅是告诉编译器自己可以被克隆。
如果类中的成员有引用,则涉及到浅拷贝还是深拷贝的问题。
浅拷贝是把除了引用成员的全都拷贝一份,而对于引用部分则指向同一处。而深拷贝是把所有的都拷贝一份。
调用super.clone()方法,它可以在运行时刻,object中的clone()识别出你要复制的哪一个对象,然后为此对象分配空间,并进行对象复制,将原始对象的内容一一复制到新对象的存储空间中。
28、Integer的
valueOf(String s) //把s转化成一个包装类对象返回
parseInt(String s) //把s转化成一个int型数据返回
封装类的对象的值是不能被修改的,只能是读。
29、java中,每个class都有一个相应的Class对象。也是说,当我们编写一个类,编译完成后,在生成的.class文件中,会产生一个Class对象,用于表示这个类的类型信息。
获取class实例的三种方式:
a)利用对象调用getClass()方法获取该对象的class实例;
b)使用class类的静态方法forName(),用类的名字获取一个class实例
c)运用.class的方式来获取class实例,对于基本数据类型的封装类,还可以用.type来获取相对应的基本数据类型的class类型。如:
|
以下是代码片段: Point pt = new Point(); Class c1 = pt.getClass(); System.out.println(c1.getName()); try{ Class c2 = Class.forName("Point"); System.out.println(c2.getName()); } catch{……} Class c3 = Point.class; System.out.println(c3.getName()); Class c4 = int.class; System.out.println(c4.getName()); Class c5 = Integer.TYPE; System.out.println(c5.getName()); |
30、java中的反射api:主要用于:对于某个不知道名字的类,通过反射机制调用他们的构造函数,为构造函数及其他函数进行传参,调用。
31、runtime这个类提供了应用程序与环境之间的接口。可以获取jvm的总共内存,已占有的内存。用getRuntime()方法获取其实例。
|
Runtime rt = Runtime.getRuntime(); System.out.println(rt.freeMemory()); System.out.println(rt.totalMemory()); |
另可以有执行命令,返回一个process. 为应用程序做准备。
|
try{rt.exec("notepad");} try{rt.exec(javac ArrayTest.java);}; |

sales@spasvo.com