java动态实例化对象_Java中动态实例化⼀个对象
使⽤场合:不知道具体要去实例化那个类的对象,通常这个参数由⽤户传⼊。即类名不确定!
使⽤⽅法:
Class newTraffic = Class.forName("Car");
Traffic t= (wInstance();
说明:
实例化类和实例化对象1、newTraffic为定义的⼀个变量,类型为Class,⽤来保存我们动态创建对象实例的类名;
2、forName()这个⽅法传⼊的参数是类名,即Car是我们定义好的⼀个类,返回的是Car这个类;
3、newInstance()即为实例化⼀个对象,注意它⽆参数,即它默认调⽤⼀个不带参的构造⽅法,如果你没定义这个不带参的构造⽅法,系统会调⽤默认的不带参的构造⽅法;
4、(wInstance(); 这⾥使⽤了强制类型转换,如果不进⾏转换,它默认返回⼀个原⽣的Object,这个Object⽆法调⽤Car类的任何⽅法;
5、Traffic是我们定义的⼀个接⼝,其中有Car和Plane等具体的类来实现这个接⼝中的⽅法。后⾯可以通过t来调⽤接⼝中的⽅法,当然这个⽅法的具体实现是放到Car或者Plane等类中的,这样就好⽐是我们动态创建了Car类,然后调⽤它⾥⾯的⼀些⽅法。说得有点通俗,这个在Java⾥称为接⼝回调

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。