00:00
那么这块呢,我再来说一下这个空指针异常啊,顺便把这个再说一下啊,Point test。那现在呢?出现一个什么情况呢?就是说我public是不是,哎,Class叫什么呢?叫non point test,然后呢,Public static。Static VO,那我主方法当中呢,我在这里干什么呢?这样我现在这有个有有一个什么呀,有个叫做user的一个一个一个类啊各位这个user这个类啊,有一个类ID后。然后这个方法我们叫什么方法,叫实例方法是不是,哎实例方法,那么system.out打印我们输入什么呀?哎,叫做do some。
01:07
Do some,那么接下来呢,我在这块呢,干什么呢?哎,我去new对象,我说user you knew一个user出来,User对象拗出来之后干什么呢?我通过这个U啊去访问这个ID。u.ID那显然是什么呀?零是不是,哎没有任何问题,那么通过U呢,去调这个do some方法,哎,Do some方法,方法名是这个参数是哎,一个小括号,哎直接拿过来,那么这个时候呢,我们去编译去运行啊,然后Java c呢none pointer,然后Java去运行none point好走回车。好,大家看一个是零,一个是读some,没有出任何问题是不是,哎,没有出任何问题,那么接下来呢,我在这个位置U怎么着呢,等于空了,就是引用是空了啊,引用变成空,那那变成nu之后,接下来我在这个位置再去访问这个ID,大家都知道这肯定是会出现什么呀,叫做空指针异常是不是?哎,空指针异常,那么原因是ID这个东西是实例相关的,是对象相关的,有对象才能去执行,才能去访问个ID,有了对象你才能去访问这个ID,现在这个对象没了,为什么你U等于空了呀,你不指向对象了呀,你通过U去访问的时候,它会找这个对象的ID啊,你找对象的ID,对象没有了,这个自然会出现空指针是不是?所以Java c呢,我们去编译Java,去运行出现空指异常,One point exception是不是好,那么接下来呢,我们这块出现控制,那你说我现在you去调do some,会不会出现控制异常呢?
02:39
这个U去调度some方法会不会出现控制异常呢?好,大家看这是什么方法呀,实例方法是不是,哎,实例方法。实例方法。对象相关的方法。对象相关的方法,对象级别的方法。
03:02
应该是一个对象级别的行为是吧。应该是个对象级别的行为,需要对象的参与呗,就是这个动作的执行是不是需要,就是方法模拟的是对象的什么行为和行为动作是不是我不知道大家还记不记得,当时我们曾经说过一个叫做什么呀,类等于什么呀,叫做属性加什么。哎,加方法是不是啊,属性描述什么呀?属性描述状态,而方法描述什么呀?行为对不对?哎叫做描述行为动作是不是,哎描述行为动作,那么大家想想有一些动作,有一些动作是不是对象级别的动作,就是必须有个对象去去参与。比如说打篮球。打篮球这个动作是属于什么?是属于对象对象级的对吗?是不是得有对象参加?
04:00
你像比如说。你你打篮球跟我打篮球可能不一样,对吧,我可能没你打的好。是不是你比如一个学生吧,学生参加考试,这个考试有有有用户啊考试对吧,有exam考试的方法。这是一个考试的行为,由于什么呀?每一个人考试之后的分数不一样。所以考试行为应该必须有对象的参与。对吧,哎,应该是有对象的参与。啊,那么其实这里也可以给大家透露一下啊,你比如说如果说这个方法采用类去调的话,这说明啥?你看带static,你看我可以透露一下啊,带static你用类去访问,也就这个方法行为,它不需要对象的参加,他用一个类类去调的。
05:05
那你这个方法是不带static,这个方法叫实例方法,实例方法是对象级别,对象级别的方法,对象的行为,那么必须有对象拗出来,然后通过引用去调,对吧?虽然这块呢,你可能我没有去讲这个它的原因是吧?哎,但是呢,我在这暗示一下啊,暗示一下有些同学呢,可能能想象出来,但有些同学可能啊,不知道在讲什么啊,没,没关系啊,总之在这里我就跟大家说一下,就是比如打篮球对吧,你们科比打篮球和你打篮球的区别是什么?对吧,那区别就是说人打的是专业的对不对,你打的很一般是不是,哎,但是你呢,和科比呢,可能都有一个共同的行为动作,就是什么呀,就是打篮球,那就打篮球的方法。哎,在真正执行这个方法,真正执行这个大框里的代码的时候,那这个打篮球是不是应该具体有一个具体的人去参加的,因为每一个人打的效果都不一样嘛,有的结果好,有的结果是一般,有的结果是差,对吧?哎,所以说像这样的行为一般都是对象级别的行为。
06:05
对象级别的行为一般都不带staic卡啊,带上staic就表示什么呀,表示类级别的行为了。类级别行为行,我不说太多了,各位啊,不说太多了,那现在总之呢,给大家说一下啊,说一下这个方法,现在我们叫做实力方法啊实例方法,然后呢,这块去调,会不会出现空值异常呢。一个实例方法。啊,实例方法的调用也必须有什么对象的存在啊,就是你这一块呢,也会出现什么呀,空指针异常啊,我们再来Java c去编译,Java去运行,好大家看在第12行出现空指针异常,在第12行就这这里也会出现什么呀,叫做空指针异常啊空指异常。你上面这个出现控制异常是因为什么呀?ID的访问需要对象的什么存在,所以你现在对象没了,那这个时候呢,哎,你就访问不了这个ID了,那你do some现在叫什么方法呀,叫做哎叫做实例方法对象方法对象级别的行为,那么这个时候我们要访问它呢,就必须得得有对象,是不是,哎你现在对象没了,所以这个空一。
07:18
空引用访问实例相关的,还记不记得我上节课给大家说的那空制异常是空指针异常导致的,最本质的原因是什么?是空引用访问?什么叫做实例相关的数据?会出现什么呀,空指针异常啊,空引用访问实例相关的数据。访问实例相关的数据啊,会出现异常。这个实例相关的包括什么呢?实例相关的包括实例变量。加什么呀?实例方法啊,实例变量加实例方法,实例变量其实是什么呀?就是属性啊,啊属性加方法,这个属性说的就是这个实例变量啊,这个方法说的其实就是实例方法啊实例方法。
08:11
好了,这个呢,咱们就说到这儿啊,这个说到这儿。
我来说两句