对接口懵逼的学习

对接口懵逼的学习

老师,对接口有些问题,如下:

1、为什么在接口类里,不能使用protected修饰?
2、为什么在接口类里,写的方法如:public void network();可以没有方法体?
3、为什么接口类里没有class,写成了,如:public interface INet,class跑到哪里去了?
4、重写接口类方法的方法,访问修饰符必须大于等于接口类的方法,老师,这是父类子类继承上的关系啊,怎么能用在接口类与和接口类没有继承关系的类里。难道接口类是父类?
5、到底该怎么理解接口类,感觉可奇怪了?
6、public static final int TEMP=20;怎么理解,为什么要加static?
7、为什么接口中可以包含常量,默认public static final?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,final修饰的变量是常量。

常量名全部大写,这个是语法规范,同学不必纠结这个~

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

好帮手慕小班 2019-05-18 20:11:23

同学你好,1、接口是一种约束和规范,是一种更加更高级的抽象类,抽象类的方法必须是公开的,因为要给人继承和使用啊,不用public,别人怎么看得到,必须是所有的都可以访问,而protected是有一定访问权限,所以不能用protected哦!java中接口定义的规定。

2、在接口中的方法默认都是抽象方法,所以没有方法体!

3、因为接口可以理解成一种特殊的抽象类,所以java给接口定义了一个特别的关键字interface,只要是被interface修饰的类就是一种特殊的类,也就是接口!

4、接口可以理解成特殊的抽象类,所以抽象类的一些规范,接口中依旧可以沿用!

5、接口中没有变量(既然是约束和规范,怎么能够定义一个大家都可以改的东西呢?),只能是常量,接口中定义常量默认的修饰符为public static final。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 鱼儿0001 #1
    谢谢老师的回复。我将自己的想法写出来:1、protected访问修饰符的最大权限是跨包子类可以访问,跨包非子类就不行了,老师,这是protected的桎梏吗?2、我问的是父子类的继承关系体现在了接口与继承接口类方法的类里,老师能不能把接口类理解成父类?3、public static final int temp=20;老师,既然都用final修饰变量temp,说明首次赋值为20后,temp的值绝对不能更改,那么加一个static干嘛?感觉加staitc多此一举,因为被final修饰的temp本身就是常量了
    2019-05-19 14:17:56
  • 好帮手慕珊 回复 提问者 鱼儿0001 #2
    你好!第一个问题,也不能说是protected的桎梏,在java里就是这么设计的。第二个问题,可以把接口理解成父类,但是我们用的时候还是按照各自的特点去使用。第三个问题,加static是希望能通过类名去使用。祝学习愉快!
    2019-05-19 16:50:27
  • 提问者 鱼儿0001 回复 好帮手慕珊 #3
    public static final TEMP=20;老师,我分解式地梳理一下:static 是为了在类外通过类名.方法名的形式去调用;final限定了TEMP是常量,只能赋值一次;public是为了使常量TEMP获得最大的访问权限;至于为什么TEMP要大写,我不懂。。。
    2019-05-23 15:49:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师