00:00
同学们,那么开始咱们下午继续来讲解这个SC,呃,那么上午呢,我们讲到了就是呃,SC的它的包的一个快速入门的介绍,那下面呢,我们来看一下SKY它的包的一些特点。呃,基本语法打包指令一样的SC的重要。作用呢,跟Java一样对吧,有这么三个,其实还有一个作用,它还有一个什么功能,功能呢,就是它可以对这个类的这个功能进行扩展,后面呢还可以体现出来,这有这个特点,SKY的包的名字跟源码所在所在的这个文件目录可以不一致。啊,可以不一致,但是编译后呢,它的自解码文件路径跟报名会保持一致,这个工作由编译器来完成,这句话什么意思呢?我要给大家举个例子。啊,同学们看,可以看到上午我们曾经画了一个图,是Java的包。
01:01
还有它的类源码以及文件路径的关系图,那如果说这个图反映到我们的SC里面呢,它就可以变化,怎么变化呢?好,同学们,你看我给大家来把这个重新的改写一下。还以这个图为例啊,还以这个图为例,我们来给大家说一下它可以做什么工作啊,说这里有一个scanner。SC,呃,它也有它的源码文件,也有文件路径和点class文件,那这个时候假如我们这写了一个呃,Scan的文件,它的路径假如说是在这个包下面。啊,在开这个包,下面大家看一下。呃,它打包指令还是一样的,那么这个时候呢,我们SC对包的要求是类的源文件。和需啊,需不需要就说可以这些啊,可以和。
02:05
可以和包对应的这个文件路径。不一致。不一致,注意听啊,它是可以不一致的。不一样或者不一样都可以,但是呢,有一点,当我们编译完这个do类过后呢,生成对应的这个class文件呢,编译器会自动将class放在荷包对应的文件簿下面,这是什么意思呢?来,我举个例子,大家一下就清晰了。来吧,我们举个例子。还以这个为例哈,还以这个为例来,下面呢,我们打开这个文件,我们在这个test,大家看这里。这个地方我不是啊,我我干脆新建一个,我新建一个啊,同学们看我新建一个这样的,我们干脆就用这个test吧,Test tIgEr。那我在这里面直接写一个类文件。
03:01
啊,这个class文件我们叫叫叫一个什么名字呢?比如说叫employee。比如叫employee,写完了大家看,嗯,此时此刻大家应该很清楚的知道这个employ employee它的这对应的这个源码文件就在test tIgEr这个里面,对吧,就在这里面,嗯,它的路径,目前的路径呢,是对应到这了,现在我要改了。啊,你看目前这个employee这个源码文件,它对应的是在这个下面,但是你看我改了过后呢,不会报错。大家看我改了过后没有任何错误。你原先你目前这个employee对应的源码文件是test tIgEr,它实际上是放在哪里的呢?它实际上是放在这个目录下面的。是放在这个目录下面的。但是你目前这个包的路径呢,确实在。这个下边。
04:00
看到没有,已经不一致了,那不一致我们运行一下会发生什么事情呢?我们可以看到代码呢,并没有报错。他并没有报错,你看仍然可以正常的执行,而正常执行完了以后,同学们可以看到,那么我们的编译器会怎么样呢?会将这个生成的class文件放,会放在这个包对应的模下面,也就是说。你这个对应的class文件会放在哪里呢?会放在这个目录下面。它会自动的帮你完成这个工作,只是原文件呢,已经可以跟目录不对应了。看它会放到这儿,那是不是在这里呢。我们来搂一。好,打开我们这个,你看在这个位置,在这个这个是源码文件包,你看啊test tIgEr,这个test tIgEr是在这个目录下面,我们可以看到里面呢有一个employee,然后我们再看下对应的class文件到哪去了,找到我们的target。
05:02
Classes come。然后找到我们的CHAPTER05,找到同学们可以看,它已然自动生成了一个hello。全部给你放这儿了,放这儿了,那而且我们可以看到这边很有意思啊,同学们,你看当你改变这个路径的时候,假设你又改回来了,假设你改成HELLO2了。你改成HELLO2,你再编译我们的编译器,还会做一些非常有意思的工作,他会先把以前这个清掉。再生成一个新的,你看很有意思,就是它肯定会对应一个地方,就是我们我们编译器呢,它会把你原先这个干掉,干掉过后呢,给你创建一个叫HELLO2的。这个那个包对应的那个目录,然后把新的类放到这儿,是不是这样子呢?我们运行一下,这个是它一个很重要的特点啊同学们,那也就是意味着你这个包,你这个原文件,你写的这个原文件,这在哪写都可以。
06:02
那么你这个包呢,你可以随意指定,那这就是他的一个灵活性的,那我们跑一下看看是不是这样子的。来,各位同学请看我运行代码。我运行完了过后可以看这帮马上会发生一个变化,请看是不是这个意思,你看很有意思吧,你看这边变成HELLO2了。他会把原先的先干掉,然后创建,这个工作是谁帮我们做的呢?如果面试官问到你告诉大家这是编译器啊,帮我们做的好,这个是一个重要的特色啊,同学们,这是我们开包的三个啊,需要说明的地方我们先给大家板述一下。好,打开我们的笔记,我们继续一边写笔记一边讲解。往下走。啊,OK,包的快速入门咱已经说完了,现在呢,我们说的是开包的一个概述问题,好把它缩小一点。OK,标题三。
07:00
那么刚才呢,我们谈到了SC的三个需要大家了解的地方啊,一个是它的基本语法。哎,它的基本语法。然后呢,这个是它的三个作用,其实呢,应该再加一个啊干什么呢,还可以干什么呢?诶第四一个啊,可以对我们的类的功能进行扩展,可以再加一个。啊,可以对可以对内的功能功能进行扩展。扩展啊,这是它的一个特色,那么还有一个特点呢,就是刚才我们说的这个特点,什么特点呢?就是开包的名字,包名和源码所在的这个文件目录可以不一致。啊,但是虽然这个不一致,编译后的自解码,编译后的自解码的路径呢,跟包名的路径会保持一致,就是刚才我们说的,你看我改了过后一编译,诶,它会自动给你生成那个包对应的那个目录,把class文件放哪去。
08:04
好,这个呢是同学们刚才已经看到的一个特色,我把它呢给同学们。把这个代码给大家写过来啊好,这是。这这个知识点,那紧接着呢,我们继续往下学习。那下面呢,我们来探讨一下开包的命名方式,呃,开包的命名呢,跟Java完全一样。怎么一样法呢?呃,报名仍然是只能包含数字字母,下划线、小圆点,但是不能以数字打头,也不能使用关键字,那同学们我们来看两个案例,第一个案例demo.class.exe请问这个报名能不能成立?呃,这个报名呢,告诉大家是错误的啊,这个是错误的,呃,为什么是错误的呢?因为这里面有个关键是class对吧,你你你这个是不可以的,大家还记得我在前面,呃,有时候用了一些关键字,他都不让用好,这个是错的,因为因为什么呢?因为class是关键字。
09:08
啊是关键字不能改,那么我们再来看这个对不对呢?我以数字打头这一个行不行也不行啊,这个也是错误的,因为不能不能以数字啊,数字开头。啊,数字开头,它的每一个每一个起点都不能以数字开头啊,都都不能,你这个也不行啊,但是你写到中间是可以的,那你可以试一下,比如说我在这地方再插一个看class点马上就报错了,但是你改个别的名字又可以的啊,而且你在一个地方也不能以数字打头,也是报错的,但是你把数字写到中间呢,诶它也是可以的,好,注意这个特色,注意这个特色,好朋友们,我们继续往下看包名的命名规范,同学们一定要记住,一般来讲,包名的命名规范是,Com公司的名字,项目的名称,业务名称,比如说com爱代,硅谷OA model啊,OA control edu,新浪edu,一般这个就代表的是项目的名称,比如说别人一看你这个是个教育项目,教育项目的一个user的一个模块,这个呢是一个搜狐的,呃,银行项目是一个什么,是一个订单的项,订单的模块,好,这是我们说的包的命名规范,回顾了一下。
10:23
好,给同学们板书一下,接着往下继续学习。好的,这是刚才讲的第三个命名规范,诶老师刚才讲了一下啊命啊命名规则和命名规范,那这呢这呢,我们做了一些这个说明,好继续往下学习。好,嗯,我们再来看一个需要了解的一个问题哈,就是斯SC它自动会引入哪些包呢?同学们在学Java的时候,老师一定讲过有一个包是不需要引入就可以直接使用的,是浪包是不是?诶那么在我们看里面呢,除了这个浪包之外,浪包肯定也是直接可以用的,因为我SC是基于啊,或者是言语Java的,所以这个包呢,里面的内容可以直接用,除此之外呢,SC还可以有两个包直接使用,一个是SC包,一个是pre df,就是预定一包,我们来看看是哪些内容。
11:24
那么新建一个文件啊,各位朋友,新建一个文件。好,那么这个是package package包的。包的一个import的一个说明对不对,好同学们看一下。那么有哪有哪几个包是可以直接引用的呢?好在scanner中,Scanner中啊就是这三个包是自动引入的啊,是干这三个包是不是Java点。点这个包。还有还有一个包呢,就是我们说的SC这个包啊,同学们注意啊,这个包,这个SC这个包。
12:06
这个包的内容可以引入,并不代表scan下面纸包你能用,也就是说你能用SC这个里面的内容,比如说import.scanner点这里面内容你都可以用。你通通可以直接用,但是你你看你看我们我们刚原先写这个list,呃,像这个list。呃,往下走啊,我看历史的,我没有引包,我也可以用了,为什么?就是因为它是直接把这个SC包给你引进去了,但是有一点要注意啊,你不能说我能够使用SKY了,下面所有的纸包不一定,比如说IO里面的包,你就不一定能够自己用,看IO里面像这个SBD,你就要专门引一下,也就是说你引入了scale包,并不意味着SC下面纸包就里面的内容就自动导入了,你还得重新显示导导入一下,好,这个请大家注意一下,就这个包是直直接引入的,就是开包,还有一个什么包呢?各位朋友,还有一个就是pre。
13:08
预定义这个包啊,DEF这个包,这个包呢,我们来看看有哪些内容,简单看一下啊import点啊import p点这里面内容。啊,像预定义的,像site呀,Map呀,Function啊,诶断言呢等等等等,对吧,像这个licity的呀,这这这这个影视转换的呀,Require的等等,哈希code的这些对不对?好这些呢,是我们预定一包里面内容也是可以直接使用的,好这是我们要说的这么几点,那么这个地方呢,我也说了三个,这三个包直接使用,不需要再单独的引用,像为什么你double big in还有可以用啊,就是因为它就是开包里面的东西,那这里面我再多说一句啊,有些时候呢,同学们说了,说老师我要看一个包里面的内容有哪些内容怎么看,我给大家介绍一个小技巧。
14:05
有些时候我们想去看一下一个包下面有哪些内容,你们可以这样去看,比如说import。来,比如说我想看一下,呃,这个开包。这个IO包里面有什么内容呢?你们可以这样去IO点。啊,假设我要看IO包,我把光标定在IO,然后呢,CTRL加加B,那么IO包里面内容都一下看到了,那这个时候呢,你诶SC包里面有什么人看这个有scale包,它有什么东西呢?这是他的纸包,这是它的一系列的纸包,那么除了纸包之外呢,它拥拥有的内容直接可以使用的,从这开始到。下面都是的,如果你想看其中的哪一个,你点一下就直接看源码了,这也是一个比较快捷的方式,去找我们关心的内容哈,这个呢,大家呃要有有一定的了解,好这个呢,我们就说到这里,好,我们就说到这里,这是关于预定义的三个包可以直接使用的,老师呢就说到这,我把这个给大家板述一下,诶板述一下,那这里呢,就是开。
15:15
啊,自动会引入的三个常用包,哪三个呢,这说了。诶,这三个啊,就是我们说的这三个,那老师截取一段这个小的图片给他放,这好,这是这是这一部分内容。啊,这是这一部分的,我们截取一段视频。
我来说两句