00:00
那么再往下呢,就是我们通过反射机制怎么扭对象了?是不是,哎,再往下写一个例子,就是通过反射机制怎么创建对象啊,我们从这呢新建一个class,我们叫reflect test12啊,就是通过反射机制怎么创建对象,这个比上一个例子。比上一个例子重要一些啊。比上一个例子重要一些,比比刚才写那个例子重要一些啊,比上一个上一个例子说的呀,说的是这个test。幺幺吗?是吧,就通过反射机制,你怎么去,就是不使用反射机制,怎么拗对象,怎么创建对象,那就调购的方法呗,有VIP。是不是啊,这不误餐的吗?VIP1。是不是哎,VIPV2你有一个,你有一个就行了,对吧?哎,你比如调有参数的你VIP。
01:00
啊,这个有参数的话,你就可以找一个看看,比如说这最后这个编号111编号的话就1110吧,然后他有一个名字叫张三。对,往后呢,还有一个。叫做birth吧,生日吧,生日,比如说2001年一零杠一一啊,然后他是男的啊为真,那么这个时候创建两对象,你看就是这样嘛,对吧,哎,那么接下来如果说我使用反射机制。怎么创建对象呢?我怎么创建对象呢?来class是不是,哎class.for name拿到它这个类的名字,我们可以拿到这个吧。是不是哎,Copy一下,然后拿过来放在这儿之后呢。
02:00
我们在这个位置能不能调用无参数构造方法?调用无参数构造方法怎么调个位?非常简单,就用C直接new就行了。对不对啊。是吧?那调有参数的构造方法怎么办?调用有参数的构造方法怎么办?这是调无参构造。对不对,直接通过class c去调的,那调用有参数的构造方法,你得第一步啊,第一步先获取到这个有参数的构造方法。明白吧,你得先获取到。啊,c.get declared。Constructor,你看。你这个declare的method,大家看它多了一个参数,获取方法的时候,第一个参数你看是不是方法的名字啊。但是你获取构造方法的话,大家看第一个参数是不是没有没不需要名字,因为构造方的名字都是固定的。
03:01
区分构造方法只能靠型材。所以大家看这个位置叫get declared constructor constructor,这个方法是不是只需要跟一个可变程参数对吧?哎,那你怎么跟呀?哎,Int点什么呀?Class对吧?哎,String点什么呀?Class再来,哎,String点什么呀?Class booing点什么class。对吧,点class,大家想想现在你拿到的这个构造方法叫做。这个构造方法是不是就是它?就是哎呀,关了还。VIP跑哪了打开啊,拿的就是这个构造方法,如果你想拿这个构造方法,那你这个地方是int string string,就相当于说你你int string string后边这就不用写了。明白什么意思吧,你拿到这个构造方法之后,接下来你第二步。就是调用构造方法new对象,怎么new呢?点new instance还是这个方法参数大家看怎么传。
04:08
你看。你看。因为你这个方法需要四个参数,所以我在调这个构造方法,调用这个构造方法的时候,你就得传四个参数。110。对吧,啊,然后呢。比如说1990杠幺零杠幺幺,然后呢,哎,True对吧,这样的话返回一个object。哎,Object,接下来我们可以输出这个object。啊好,大家看这是调无参构造啊,我们可以把这个OBD输出,这个是调什么呀?有参数的构造方法,我们这儿的to string重写一下two论。
05:01
都有啊,来走一个执行。一个无参对吧,你看参呢,就是默认值默认值默认值默认值你看有参数的你看。是吧,对吧,这样的话就表示通过反射机制,你可以通过这个方法来创建对象。注意啊,你首先要把这个构造方法拿到c.get declared method来get declared constructor拿到这个构造方法之后呢,New instance传上实际参数列表,参。这样的话就会返回一个对象。对吧,这个是直接调的,就是无参数构造方法,New instance调的是无参构造啊c.new instance这是通过class去调的。不一样啊,调无仓构造,有的时候老师我现在我把这个无仓构造获取到,我直接去调无仓构造行不行,就是我把这个无参构造方法拿到,拿到之后呢,我通过下面这种方式去调用这个无仓构造行不行可以。
06:02
对,那你怎么获取无参数构造方法呀,怎么获取啊c.get declare的,哎,Constructor参数你一个也不写呗,参数啥也不写的话,你返回的这个构造方法constructor,那这个地方就是无参构造。啊,就是无参构造各位啊来二,那么这个时候你调用无参构造怎么调啊,点什么呀?New instance你参数也不用传,参数的个数也是零对吧?Object。New object。OBJ2来输出6OBJ2,嗯,来我们再执行一下,你看。是不是都可以吧,都可以啊,上面这个大家看在JK9之后好像过时了。不用了。对吧,哎,不让用的话,你以后就用这种方式也行。但是呢,现在用这个还是主流啊,还是主流。
07:01
用这个new instance调无参数方法,因为现在毕竟JDK8是主流啊。JDK13并不是主流,不是主流。嗯。你看他这。这个过时了是不是,哎,不让用了,不建议用了,不建议用了,用这个。啊,更复杂了,你看c.get declared constructor constructor new instance来创建对象是吧?好了,那么这个例子呢,是通过反射机制去调用我们的构造方法创建对象啊,就是通过反射机制。通过反射机制。调用什么呀,构造方法,实例化Java对象,这不是重点啊,这个不是重点。不是重点啊。重点内容已经过去了,重点内容就是那个field和method,通过反射怎么访问field,怎么调用method。
我来说两句