发表于: 2018-01-24 22:48:02
1 738
大家好,我是IT修真院深圳分院第5期学员,一枚正直善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务1中,为什么要使用interface好处是什么。
一、背景介绍
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,一个类通过继承接口的方式,从而来继承接口的抽象方法。或者简单点来讲,接口就像一种约定,我们约定某些类可以实现某种方法,那么这些类就一定能实现某种方法。
二.知识剖析
接口的特点
1.Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显示初始化,即接口中的成员变量为常量。(一个值的本身,我们可以叫为常量;不可变的变量)
2.接口中的方法默认都是public,abstract类型的(都可省略)没有方法体。
3.接口中没有构造方法,不能被实例化。(构造方法是一种特殊的方法,它是一个与类同名且返回值类型为同名类类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载)(实例化是指在面向对象的编程中,通常把用类创建对象的过程称为实例化)
4.一个接口不能实现(implements)另一个接口,但它可以继承(extends)其他多个接口。
5.Java接口必须通过类来实现它的方法
6.当一个类实现了某个Java接口时,它必须实现接口中所有抽象方法,否则这个类必须声明为抽象类(删一个方法2)
7.一个类只能继承一个直接的父类,但可以实现多个接口,间接实现了多继承(,接口名)
三.常见问题
1.接口和类的区别是什么
2.接口中的成员变量和类的属性的区别是什么
3.为什么要使用接口,接口+实现(Impl)好处是什么
四.解决方案
1.接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念;类描述对象的属性和方法。接口则包含类要实现的方法。
2.成员变量和属性的区别:从使用者的角度看没有什么区别,都是依附在对象上的数据。从类设计的角度看,属性是通过方法访问的数据,写一个属性,可能会影响多个数据,而读取属性,得到的是方法的返回结果,也可能是多个数据运算得到的值。成员变量直接就是对象的数据,用户代码可直接读写。 成员变量作用范围是整个类,定义在方法体和语句块之外,一般定义在类的声明之下。属性是只局限于类中方法的声明,不与其他的类成员相关。
3.1、重要性:在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。
3.2、简单、规范性:如果一个项目比较庞大,那么先定义一些主要的接口,这些接口不仅告诉开发人员你需要实现那些业务,而且也将命名规范限制住了。
3.3、维护、拓展性:比如要做一个程序,其中里面有一个类,满足不了所需要的功能,又需要要重新设计这个类,如果这个类被其他地方引用,修改起来很麻烦。假如一开始就定义了一个接口,通过类实现这个接口,这样修改的时候只不过是引用另一个类而已,就达到维护、拓展的方便性。
3.4、安全、严密性:接口是实现软件松耦合的重要手段,它描叙了系统对外的所有服务,而不涉及任何具体的实现细节。这样就比较安全、严密一些。
明天的计划:进行任务二
遇到的问题:暂无
今天的收获:回顾了一下基础
java任务一开始时间:2017.12.05
预计demo时间:2018.01-05
可能有延期风险,原因是:已经延期了,基础比较差,
禅道链接地址:http://task.ptteng.com/zentao/project-task-501.html
评论