00:00
那下边呢,咱们提到一个这个main方法,这个main方法呢,咱们一直都在用,只是说呢,但是大家呢,又稍微熟悉了一下,因为呢,我们讲了这个may里边的这个static了没,方法这块呢,我们主要呢,体现了就这样的三个事儿,这个呢,整个关于may呢,大家作为一个了解的知识就OK。首先呢,作为程序入口,第一天呢就体验了,第二个呢,它加上static也是一个普通的静态方法,大家呢,也也可以呢,直接呢去调人家某一个类灯的这个静态方法,嗯,这儿直接调人家这个类的这个静态方法,这没问题,第三个的话呢,这个我没有见过,说这个may的话呢,它也可以作为我们与控制台交互的一种方式,这个没方法呢,我们看到它的这个行参呀,是死锥形的一个数组,你会想这个数组干什么用的,好像从来呢也没用过啊,这儿呢,其实就提到了,说咱们其实也是给了你一种去跟控制台交互的方式,就是呢,哎,把你这个从控制台输入的数据呢,我就保存在这个数组当中,而且呢,你输入的数据,不管你写的是123还是这个处啊false啊等等,我呢都把你们这些数据呢认为是字符串,都认为是字符串了,你要是想用这个整形的呢,你先拿到这个字符串,后边呢,你再把它变成你想要的那个123,咱们也讲过了包装类基本数。
01:17
类型和string之间转换了,包括这个都可以给他转下来的,所以呢都没有问题,好是这样的,在这里边呢,提到这个第三个点呢,大家稍微关注一下,就是我们怎么去给他传这个数据啊,就是如何将控制台这个我们输入,呃,我们控制台获取的这个数据呢,这个传给咱们的这个行参是这个词string类型的数组。那如何做的这个事儿,这个呢,大家稍微关注一下就行了,咱们呢,其实是在这个运行的时候做的,运行时咱们呢,相当于使用这个叫Java,然后呢,接着是写你对应的这个类名呗,咱们我这就直接写这个类名了啊类名后边后边的话呢,整一个空格就行,开始呢就写你这个事儿了。
02:11
那运行时类名,比如我们这里就传了一个叫这个引号呢,我们说加不加也都可以,这个别用逗号了,直接空格charm Jerry,再空格一下,这个写一个123啊都可以,就是你这里边传的数据呢,都认为是字符串。行这呢我写了四个,这我要写了四个的话呢,咱们在这个没方法的这个代码里边,我们要是去调的话呢,你这个数组我这简写了啊,我们叫X,如果我这时候我写的是零这个输出的这样。就Tom呗,对,然后如果呢,我这20123这个写个三。
03:00
这是不是就错啊,但这时候你要注意的就是此时是不是都以这种字串的形式呈现的,对你需要的话呢,你再做一个相应的转换就可以了,比如说这个呢,你想要真正的这个布尔类型,这个咱们讲过怎么转string,转化成基本数据类型,你就去基本数据类型那个包装类去找,不有一个叫帕波尔,诶你把你这个A3往里一扔,诶它就给你转换过去了,那如果我这个时候呢,在代码层面我想调一下这个X4。或者说无等等,这是什么问题啊,是不是就不好异常了,对就不好异常了,也就是说呢,我们在代码层面呢,肯定咱们是先把代码写好,然后呢,就是开始去传的数据啊,那你代码写的时候,如果你写过这二四哈,那就意味你这块呢,传的时候是不是一定得保证有那个第五个元素啊,否则的话呢,就出问题了,你要说希望灵活一点,那这里边最好别写死这个,咱们这里边也有个控制,就是你既然是个数组了,我们数组点烂死减一,那不就是你最后一个可掉的元素嘛,哎,你烂死的话呢,这个你写几个,我就知道你lengths是几了,是个动态的这样个意思啊,行,那这个main方法本身的话呢,这呢我们就不多说其他的了,只不过呢,我们借助于这个may方法,想稍微呢给大家来一个到目前为止的一个小复习。
04:35
String类型,String类型的书字比较难看啊,怎么能够用它这样这样public static word may词string类型的O,这呢是我们这个方法体O行,这呢是咱们整个关于这个魅方法的这样的一个声明,这呢,咱们先关于面向对象呢,来一个小结,我们看看通过这里边呢,咱们能够说出点什么知识来,你要是能够达到一定程度,就是随便给你拿出个东西来,你能叫什么,有一有一个程序叫什么一叶之秋是吧,跟一丘之貉那是两事啊,一叶之之知道的是秋,对一片落叶落下来,你知道秋天来了,非常有意境,那么这个一叶的话呢,相当于我们这里边一一叶,一个叶子不是一晚上的意思啊,这个,嗯,这个,这个我们通过这枚方法就好比是这一个叶子。
05:35
题啊秋呢,就好比是我们的面向对象,我们看从这个角度呢,我们能够看到面向对象的哪些东西,比如说首先第一个叫public,通过public我们能看到呢,就是叫全修吧,全修提到了有private学醒,然后哎怎么念protected,嗯,然后public这个呢,叫全修福,它体现的叫封装性吧,装行封装性不多说了,这是我们说的这个通过public我们能看到这个东西,这是第一个事儿,然后第二个呢,叫static static的话呢,是我们修饰这个类里边的一个,呃,修饰这个方法里边的一个,也是一个关键字了,你或者也可以叫做一个修饰符,只不过呢,它不是属于这种叫权限修饰符了,不是权限的看成一个普通的修饰符,那么这个修饰符的话呢,目前咱们是修。
06:35
修饰个may方法了,那我们总结一下,说这个static可以用来修饰,那除了static还有哪些呢?翻可以吧,诶今天呢,咱们还要讲一个叫abtract这三个,当然了,还有那个叫native native也能用来修购方法,只不过这个呢,咱们平时自己写代码呢,就很少写了,就是底层呢,掉了个C或C加加这个代码了,就是这几个关键字呢,说可以用来修饰方法,可以用来修饰方法,那么大家需要关注的就是每一个关键字是什么作用,所以面向对象这块的话呢,呃,咱们也讲过,说大部分呢,都是需要大家掌握的,需要了解的比较少,是因为呢,你说你这个final,你要万一不清楚他,它就出现这个final了,你可能这一块呢,它就是缺失的,这个代码就推不过去了,不知道是什么意思,诶,所以面向对向这块呢,这个需要掌握的这个细髓的点很多,到后面呢,我们这个高级展开以后,其实每一章呢,都有重点的,也有非重点的,把握核心就可。
07:35
了,后边学起来其实反而相较于前面来讲要简单要简单,这呢是我们说的这叫修饰符,特别的这样的几个修饰符,然后后边后边那个呢,叫word,反正类型。反正这类型这一块。那这块呢,我们能提到的就是涉及到两类,一个呢是有反位值,先说无反位值吧,无反位值的,还有一个呢叫对word的,然后是有返回值的,有返回值的,那这块呢,大家使用的时候呢,还得关键注意一个事,就是你像有返回值的呢,一定要用一个return,一定要用个return,当然了,你要没有返回值是不是也可以用啊,对,只是说呢,有反回值呢,是一定要用,嗯,就是这是关于这个word的,这呢就也过了,然后下一个may may呢体现的叫方法名,方法名这块呢,有啥可说的呢?这有点不明显了,方法名的话呢,这也算一个标识符了吧,那就要求呢,需要满足标识符命名的规则规范。
08:56
包括呢,还有叫起名字的时候呢,建名之意,诶这呢是我们关于这个方法名这块的行,那么接下来这个叫行参列表。
09:13
清单列表有啥可说的?或者我们能够通过他呢,看到哪些东西?我们说呢,一个方法这个,呃,不是一个方法了,多个方法,方法名呢可以一样,现在列表呢可以不一样。这让我们体现出来的叫方法的重载吧,方法名一样,形态里边不一样,叫重载了,那重载既然提了,你是不是可以对应的关注一个叫重写呀,那这呢是我们可以看到的一个点,好,还有吗?重载和重写。行参的话呢,我们调方法肯定需要传一个食参,那传的时候呢,这就涉及到一个问题,就是说呃,食参传给行参,那你到底传的是什么呀,是不是就是这涉及到一个叫这个参数的叫直传递机制啊,这个直传递机制呢,首先重要,其次呢还有点难度,大家呢,就把握这两个点,基本数据类型传的就是你的这个数据值,哎,引用数据类型传的就是地址值,对,把握住这两个点就错不了了,这是最最根本上的两个,这个知识好还有什么。
10:33
还有什么呢,我们在往里传的时候呢,这个这是string了,String这个比较特例了,因为string呢,它是个final的,我们传是不是你也不可能传string的子类的对象了,它是final的,是不是也没有子类啊对,但是我要是不是string,我是一个object。对,我们这时候传的时候呢,很多时候传的都是它的子类对象,所以在这个位置呢,我们可以去体现叫对象的多态性,所以这呢,我们就把这个多肽性呢,也引进来了,引进来了,说到这呢,稍微的先说几句,先说什么呢,有的同学呢,会有这样的想法,大家看你有没有。
11:15
比如说咱们呢,这个咱们讲新课的时候,讲多态时候呢,说咱们拿的这个person,然后new的时候,咱们new的是个慢,还记得吧,对,然后呢,咱们这个男人里边呢,重写了person类里边这个方法,包括呢,也提供了自己所特有的方法了,说后咱下边呢,说我通过这个P,我呢去调这个it方法,调这个,嗯,还有什么方法,这个这个走路的方法,发现呢都是执行的,我们这个慢里边重写以后的方法,我们这儿呢叫虚拟方法调用了说多肽最核心的呢,就是这两行代码,第一行呢,体现了叫多态性附列引用指向子类对象,然后呢,这目的不是它,目的就是我们在调的时候呢,你执行的是子类重写的方法,那这是最核心的两条代码了,然后有同学就问了,说老师,你干嘛非得这样整呢?
12:02
说为啥非得生明个person,然后掉it,而且呢,你这时候这个P,咱们是不是也掉不了这个男人所特有的方法了,咱们当时呢,叫earn money,说这个方法呢,还调不了,因为呢,你声明的是一个person了,说为什么不这样呢,我干脆这样,这这不更好吗?我这就用一个man,我用个慢呢,你拿这个慢去调it,那本身还是你重写的,然后同时呢,我还去可以调叫earn money。这这不更好吗?我干嘛非得用用多肽呢,这不是更好的解决的这个我们实际的问题,你这还得向下转型,我这连转都不用转,而且还有什么呢,我们这呢叫虚拟方向调用,编译的时候呢,认为是父类的运行的时候呢,相当于一个指针一样,又指向你这个子类呢,给重写了,而我们这儿呢,上来是不是直接就找子类了,按说好像效率上还能更快,怎么解释,而且是为什么不用下边呢,还非得整多台,对对,哎,说的很好,就是参数传递嘛,就是你要这样写,咱们在main方法里面要这样写,那是没啥意思,那你明明可以直接用付给一个子类对象呢,那你干嘛付给父类,那是没有道理的,那我肯定是这样写更好一些啊,但问题是呢,咱们写方法的时候呢,这个时候你哪知道他有多少子类,你那有个父类,你爱造几个子类造几个子类,或者说呢,我有这个方法的时候呢,我还不知道你造过什么子类呢,所以这个位置呢,咱们只会写成一个父类的方式,只要你传一个P。
13:30
寸就可以了,只是呢,在这调的时候呢,你非不穿非不是new的一个person了,你是new的person类了,所以里边呢,才体现了这种多态的特性啊,这个呢,就是咱们为了就是要体现这个多态的这种代码的通用性,你这呢,又不可能说造一个方法叫person,又造一个叫慢,还造其他的,那那这代码呢,这个可用性,这个复用性呢,也太差了,诶是这个角度。行,那这个问题如果大家都能很清楚,这说明理解的确实好很多啊,那么后边一个呢,叫方法起了,这个方法体的话呢,那其实没有特别多的要说的了,就是我们去生明一个方法呢,那最主要的呢,还是通过方法体来体现这个方法的功能,主要呢通过它来体现。
14:18
体现这个方法的这个功能,你说你这个方法是一个sot排序,还是一个二分法查找等等,主要还是看你方法体写的对不对,那也得看方法体行方法体呢,就主要看需要注意的就是你这有没有返回值,有返回值呢,这个你记着给人return啊,这就OK了,行这呢是咱们通过这个没方法呢,这个简单的带着大家去捋了一下,我们涉及到的部分面向对象的一些知识啊,保存一下这关于这个妹呢,我们专门也停一下。
我来说两句