JAVA创建对象有哪几种方式?
JAVA创建对象的四种方式:
有4种显式地创建对象的方式:
1.用new语句创建对象,这是最常用的创建对象的方式。
2.运用反射手段,调用Java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。
3.调用对象的clone()方法。
4.运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法.
下面演示了用前面3种方式创建对象的过程。
以上程序的打印结果如下:
call second constructor
call default constructor
c1: name=unknown,age=0
call second constructor
c2: name=Tom,age=20
c2==c3 : false
c2.equals(c3) : true
c3: name=Tom,age=20
从以上打印结果看出,用new语句或Class对象的newInstance()方法创建Customer对象时,都会执行Customer类的构造方法,而用对象的clone()方法创建Customer对象时,不会执行Customer类的构造方法。(区别)
除了以上4种显式地创建对象的方式以外,在程序中还可以隐含地创建对象,包括以下几种情况:
1.对于java命令中的每个命令行参数,Java虚拟机都会创建相应的String对象,并把它们组织到一个String数组中,再把该数组作为参数传给程序入口main(String args[])方法。
python调用java对象?
你使用jython这个解释器就可以让python直接调用java, 调用完成后,你用python封装成一个服务。其它的python程序员就可以间接调用java对象了。 jython调用java这个方式也被eclipse+pydev使用,是目前最直接的方法。
java怎样判断一个list里是否有一个对象(object)?
1中自定义,遍历List直到找到对象即可,但List中的对象需要自定义equals方法,即可以与其他对象比较,在什么情况下相同。如满意回答。2但上述方法具有特定性,另外还有一些思路,如保证list中的对象是可排序的,即实现了Comparable接口功能如果list没有排序,则可以使用Collecitons类对集合类,不是Map进行操作如Collections.sort(List),可以进行先排序然后利用Collections中的binarySearch方法,找到对象所在下标intindex=Collections.binarySearch(list)如果index<0,则表示没有该对象,如果index>=0,则表示该对象在list中的位置下标,因此,这里面我们不需要直接取出对象判断,主要看Comparable接口如何实现String已经实现了equals和comparable接口的方法所以可以直接使用上诉功能,进行判断,而不用一一遍历。
还没有评论,来说两句吧...