00:00
行了,那咱们继续再往下看啊,那这个接口呢,我们就叫嗯,STEM,假如说我们再来一个,比如说相减的方法。相减的抽样方法。那这块呢,我们直接呢叫sub吧,啊sub,然后呢,Int类型A。类型B。啊,应的线B。嗯。看见了吧,啊,这不定义另外一个方法吗?这是一个方法,这求和嘛,这是相减嘛,是不是我们再来编译一下看有没有问题。你看没问题。是不是,哎,没问题啊,那行了,那么接下来咱们接着再往下看啊,再往下是什么呢?就是我们关于这个。里边的这个常量,常量是public static final,还记得吧?比如double类型的拍等于多少啊,3.1415926。这是不是就是常量啊。
01:01
对吧,哎,这就是常量啊,哎,好了。我们再编一下。那么既然接口当中只有两部分,一部分是常量,一部分是抽象方法,抽象方法前面的public abstract可以省略,大家看是不是省啊?对吧?那既然都是常量和抽象方法,常量前面都有一个public static final,那这个public static final可以省略吗?各位猜一下这个可以省略吗?我觉得这个应该能猜出来吧。就你看现在编译通过了,你看可以。是不是啊,那如果说我常量我不这么写了,我把public static final去了,因为你每一个每一个每一个东西出现的都是常量,那既然都是常量,Public static final,你老是天天写这玩意儿,是不是也挺费劲的?所以public static final能不能省略呢?我直接写个double拍行不行啊?
02:02
就是这个public。Static final可以省略吗?他从代码软件设计的角度来说,他也考虑我们程序员天天挺累的,是不是能省就省呗,你看他能不能省来走。诶,你看可以省,所以说我们接口当中,接口中的常量。常量的public static final可以省略,直接这样写就可以了,那么我们来访问一下这个这个这个常量来用类名去访问,这是接口名,用接口名能不能访问接口名?其实接口你也别多想,它就是个类啊。他MYMY点什么呀,点拍。访问一下来Java c编译Java运行TEST01走3.1415926没有任何问题对吧?这个是不是访问接口常量啊,访问接口的常量是不是,哎,那如果说my ma,然后直接点拍,等于给它改值3.1415928。
03:18
常亮能修改吗?能重新赋值吗?能不能啊,麦麦拍附上3.1415928来编译一下。无法为最终变量拍分配值,看见了吗?就是第21行这块是不允许的,这个不能,这是错误的啊,这也足以说明了我们在接口里边随便写一个变量,它都是什么常量。对吧,这不是很随意的变量吗?你看interface接口里随便写个变量,你前面没有加public sta,它会自动,它将来它自动就在你前面加一个public static final,它自动就给你加这个东西。
04:04
啊,自动加上。啊,自动加上。啊。所以这块呢,接口我再强调一下啊,里边只允许出现两样东西,一样东西是啥呢?是抽象方法,一样东西是啥呢?哎,是常量。抽样方法public abstract可以省略不写,直接这样写就行了。常量public static final可以省略不写,直接这样写就行了,这就是接口,但是你要记住,接口当中虽然写的是变量,但你清楚啊,它已经是常量了,它不能改。它是常量啊,前面这个public final省了省略,不代表他将来不加上,它将来在在这个编译的时候,它还会把这个public sta final再加上去,你明白吗?然后下边这个也同样一样,Public abstract明白吗?哎,这两个它会自动加上去,为什么?因为编译器看到这个东西不是一个什么呀,Class你懂吧,他看到这个地方有个interface。
05:03
编译器。小写是变量。大写是常量吗?哎呀,跟变量名大小写无关。跟电门大小小无关,来。K等于100,现在这个K是不是常量?是啊。啊,和大小写无关,大写小写只是一个书写规范罢了,它前边一定会给你加这个的,明白吗?一定会给你加的,你看看这个K能不能改,来试试吧。买卖啊。MY.k改一个值能不能改呀?来编一下你就知道不能改啊。是吧,无法为最终变量K分配值啊。不行,这不行,不允许K是常量。
06:01
就随便一个变量,就是常量,注意啊,接口这个关键字interface就决定了一切,编译器啊这个东西,一看这个单词全interface,妥拉interface明白吧,它这个里边只允许出现常量和过和这个抽象方法,别的不允许出现,你就算写一个变量,它也会把它当做什么呀,常量。明白吗?接口中随便写一个变量就是常量。因为它是interface里的,你看interface里面没有没有没有没有,哎,没有变量,没有变量,对,你随便写个变量就是常量。常量是啥呀?常量就是值不可改变的变量嘛。人家不都说了吗?什么是常量啊,什么是常量?就是值不能发生什么改变的变量就是常量。有道理啊,值不能改变的变量啊。
07:03
就叫常量,这个值不能改变的变量就叫常量。是不是?哎,这个是因为你的接口所决定的,你前面加上interface所决定了,你这里面的特性只能有什么,你随便写一个方法,但你不能加方法体啊,加上方法体就废了,你不加方法体前面的public abstract是可以省的,你这个变量前面的public static final是可以省的,它里边只允许只允许出现两样东西,我刚才说了很很多遍,一个是常量,一个是抽象方法,别的东西它不允许在接口里边出现,这个是我们Java中规定的,为什么?因为它前面是interface。啊,文杰说的非常好啊,语法是语法,规范是规范啊,不一样啊不一样对。好,这是关于我们,呃,在这里所说的这个接口里面的这个东西都有哪些东西啊,什么东西能省啊,对吧?Public final可以省哎,什么东西能省,Public abstract可以省哎,方法不能加方法体啊,不能加方法体。
我来说两句