本篇文章给大家谈谈java系统接口设计,以及java设计一个接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享java系统接口设计的知识,其中也会对java设计一个接口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
北大青鸟设计培训:什么是Java接口?
Java接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。
一个类通过继承接口的方式,从而来继承接口的抽象方法,以下是java课程培训机构http://www.kmbdqn.cn/为大家搜索整理的Java接口是什么,希望能给大家带来帮助,更多专业知识请及时关注海文IT知识频道!接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。
类描述对象的属性和方法。
接口则包含类要实现的方法。
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
接口无法被实例化,但是可以被实现。
一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。
另外,在Java中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。
接口与类相似点:一个接口可以有多个方法。
接口文件保存在.java结尾的文件中,文件名使用接口名。
接口的字节码文件保存在.class结尾的文件中。
接口相应的字节码文件必须在与包名称相匹配的目录结构中。
接口与类的区别:接口不能用于实例化对象。
接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了static和final变量。
接口不是被类继承了,而是要被类实现。
接口支持多重继承。
关于JAVA接口程序设计
你确定答案是正确的?
我自己的回答,不知道是不是正确答案,而且感觉你的题不全。
水平有限,错误请指正。
个人感觉,这题主要是考察,接口,实现,继承,多态。
(以下放在T.java你可以运行看一下。)
--------------------
interface FlyBehavior {
public void fly();
}
class SubSonicFly implements FlyBehavior {
public void fly() {
System.out.println("亚音速飞行!");
};
}
class SuperSonicFly implements FlyBehavior {
public void fly() {
System.out.println("超音速飞行!"); //此处打错一个,应该是超音速飞行吧
};
}
interface TakeOffBehavior {
public void takeOff();
}
class VerticalTakeOff implements TakeOffBehavior {
public void takeOff() {
System.out.println("垂直起飞!");
};
}
class LongDistanceTakeOff implements TakeOffBehavior {
public void takeOff() {
System.out.println("长距离起飞!");
};
}
abstract class AirCraft { //既然是abstract的了,怎么没有abstract的方法
protected FlyBehavior flyBehavior = new SubSonicFly(); //这里应该考查的是关于多态的知识吧
protected TakeOffBehavior takeOffBehavior = new LongDistanceTakeOff(); //这里也应该考查的是关于多态的知识吧
public abstract void fly(); //就把它设成abstract的吧,反正它也不实现什么,就让子类去做具体实现吧。
public abstract void takeOff(); //把它也设成abstract的吧
}
class Helicopter extends AirCraft {
public Helicopter() {
flyBehavior = new SuperSonicFly(); //这里因为是从父类继承的。所以不用在定义了。
takeOffBehavior = new VerticalTakeOff();
}
@Override
public void fly() { //实现父类的方法
flyBehavior.fly();
}
@Override
public void takeOff() { //实现父类的方法
takeOffBehavior.takeOff();
}
}
public class T{ //在这里,我增加了一个main方法,来观察效果
private static Helicopter he = new Helicopter();
public static void main(String[] args){
he.fly();
he.takeOff();
}
}
java怎么根据原型图设计接口开发
大家好,又见面了,我是你们的朋友全栈君。
java web开发(一) 环境搭建讲解了如何搭建一个Java Web项目,如果你还没了解,建议先浏览下!今天这篇文章主要讲解的就是接口开发,打算使用比较古老的或者说比较原始方法实现的接口。
一.数据库设计。
假设要做一个简单的学生信息管理系统,数据库名为students_manage,并且先设计一张学生表,表名为student。
1.打开Sqlyog工具,如果还没创建连接,可以点击新建,输入名称,点击确定即可,然后在保存的连接中选择,刚刚新建的连接,只需要在密码输入框中输入,安装数据库时的设置的密码,点击连接,其他的默认即可,
java接口使用问题,请各位高手指点迷津,小弟总是搞不清楚!
分类: 电脑/网络 程序设计 其他编程语言
问题描述:
在java中我们知道接口可以让我们避免类不能多继承的尴尬,但是如果我们继承一个接口,那么我们就要实现其它所有的方法。而在实际当中,我们经常用到java系统中的接口,我们不是继承,只是使用,可是一般上讲,接口是没有方法体的,要我们自己去实现方法体。问题出来了,在java系统中的包java.sql这个包中有很多的接口,如
Array
Blob
CallableStatement
Clob
Connection
DatabaseMetaData
Driver
ParameterMetaData
PreparedStatement
Ref
ResultSet
ResultSetMetaData
Savepoint
SQLData
SQLInput
SQLOutput
Statement
Struct
其中有我们常用的Statement PreparedStatement ResultSet,可是这些接口我们没有实现它其中的各个方法,但我们调用它们的各个方法又不会出任何问题。是不是java系统己经实现了这些接口中的各个方法?但是我们又为什么看不到那些实现的类文件呢?如果java系统自己没有实现这些接口中的方法,那我们调用它时又为什么不会抛出异常呢?接口和它方法实现的文件之间的关系统是不是象C++中的类的头文件和类实现文件之间的关系是一样的?
解析:
呵呵,当然是已经实现了这些方法了,要不然你的程序怎么能运行出结果呢?你看到的class文件就是这些实现体的中间码,只不过是只提供给你调用的接口,屏蔽了实现细节。接口和它方法实现的文件之间的关系是不同于C++中的类的头文件和类实现文件之间的关系的,因为前者是接口和它的实现,有了接口不一定必须实现——除非你要使用,而后者完全是同一对象(所谓的“类”)的两个部分。不知道这样说你是否明白?
java为什么要设计接口规范
抽象类和接口
什么是接口:接口就是一些方法特征的集合------接口是对抽象的抽象。
什么是抽象类:抽象类对某具体类型的部分实现------抽象类是对具体的抽象。
方法特征包括:方法的名字、参数的数目、参数的类型。不包括:返回类型、参数名字、和抛出的异常。
接口是类型转换的前提、是动态调用的保证。实现某一接口就完成了类型的转换(多重继承);动态调用只关心类型,不关心具体类。
--------------------------------------------------------------------------------------------------------------------------------------
JAVA接口(抽象类)用来声明一个新的类型。
JAVA设计师应当主要使用接口和抽象类将软件单位与内部和外部耦合起来。
换言之,应当使用JAVA接口和抽象类而不是具体类进行变量的类型声明、参数的类型声明、方法的返回类型声明、以及数据类型的转换等。
当然一个更好的做法是仅仅使用接口,而不是抽象类来做上面这些事情。
在理想的情况下,一个具体类应当只实现接口和抽象类中声明的方法,而不应当给出多余的方法!
接口和抽象类一般作为一个类型等级结构的起点。
接口比抽象类更为抽象所以优先使用接口声明抽象类型!
--------------------------------------------------------------------------------------------------------------------------------------
抽象类和接口
抽象类仅提供一个类的部分实现。抽象类可以有实例变量、以及一个或多个构造函数。抽象类可以同时又抽象方法和具体方法。
一个抽象类不会有实例,它的构造函数不能被客户端用来创建实例。一个抽象类的构造函数可以被其子类调用,从而使一个抽象类的所有子类可以有一些共同的实现,而不同的子类可以在此基础上有不同的实现。
接口比抽象类更为抽象所以有线使用接口声明抽象类!
抽象类是用来继承的。(具体类不是用来继承的,“只要有可能不要从具体类继承---SCOTT MERYES”)。
抽象类设计原则:
1. 抽象类应当拥有尽可能多的代码!(公用方法)。代码集中于抽象的方向。
2. 抽象类应当拥有尽可能少的数据!(公共属性)。数据集中于具体的方向。
继承复用的使用条件------- PETER COAD条件
1. 子类是超类的一个特殊种类而不是超类的一个角色!正确区分“HAS-A”“IS-A”的关系。
2. 子类之间不应发生替换!?
3. 子类具有扩展超类的责任,而不是置换(OVERRIDE)掉或注销(NULLIFY)掉的责任。
4. 只有在分类学角度上有意义时才可以使用继承,不要从具体类继承。
接口和抽象类的区别:
1. 抽象类可以提供某些方法的实现。如果向抽象类中加入一个新的具体的方法,那么所有的子类一下子就得到了这个方法。接口做不到这一点!(这也许是抽象类的唯一优点)。
2. 因JAVA的单根结构限制,只类只能实现一个抽象类类型,而接口类型这无此限制。这使抽象类作为类型定义工具的效能落后于接口。接口是定义混合类型(实现多从继承)的理想工具:用一个
3. 从代码重构的角度上讲,将一个具体类重构成一个接口的实现是很容易的。
文章来自 haoyu1566的网易博客
java 接口怎么用?应该怎么实现?
java语言不支持一个类有多个直接
java系统接口设计的父类(多继承),但可以实现(implements)多个接口,间接
java系统接口设计的实现了多继承
用法public class test implements 接口名称
当类实现了某个Java接口时,它必须实现接口中
java系统接口设计的所有抽象方法,否则这个类必须声明为抽象
java系统接口设计的
比较抽象类与接口
1, 抽象类与接口都位于继承树
java系统接口设计的上层
相同点
1, 代表系统的抽象层,当一个系统使用一颗继承树上的类时,应该尽量把引用变量声明为继承树的上层抽象类型,这样可以提高两个系统之间的送耦合
2, 都不能被实例化
3, 都包含抽象方法,这些抽象方法用于描述系统能提供哪些服务,但不提供具体的实现
不同点:
1, 在抽象类中可以为部分方法提供默认的实现,从而避免在子类中重复实现它们,这是抽象类的优势,但这一优势限制了多继承,而接口中只能包含抽象方法.由于在抽象类中允许加入具体方法,因此扩展抽象类的功能,即向抽象类中添加具体方法,不会对它的子类造成影响,而对于接口,一旦接口被公布,就必须非常稳定,因为随意在接口中添加抽象方法,会影响到所有的实现类,这些实现类要么实现新增的抽象方法,要么声明为抽象类
2, 一个类只能继承一个直接的父类,这个父类可能是抽象类,但一个类可以实现多个接口,这是接口的优势,但这一优势是以不允许为任何方法提供实现作为代价的三, 为什么Java语言不允许多重继承呢?当子类覆盖父类的实例方法或隐藏父类的成员变量及静态方法时,Java虚拟机采用不同的绑定规则,假如还允许一个类有多个直接的父类,那么会使绑定规则更加复杂,
因此,为了简化系统结构设计和动态绑定机制,Java语言禁止多重继承.而接口中只有抽象方法,没有实例变量和静态方法,只有接口的实现类才会实现接口的抽象方法(接口中的抽象方法是通过类来实现的),因此,一个类即使有多个接口,也不会增加Java虚拟机进行动态绑定的复杂度.因为Java虚拟机永远不会把方法与接口绑定,而只会把方法与它的实现类绑定.四, 使用接口和抽象类的总体原则:
1, 用接口作为系统与外界交互的窗口站在外界使用者(另一个系统)的角度,接口向使用者承诺系统能提供哪些服务,站在系统本身的角度,接口制定系统必须实现哪些服务,接口是系统中最高层次的抽象类型.通过接口交互可以提高两个系统之间的送耦合系统A通过系统B进行交互,是指系统A访问系统B时,把引用变量声明为系统B中的接口类型,该引用变量引用系统B中接口的实现类的实例。
public interface B
{
}
public class C implements B
{
}
public class A
{
}
B a = new C();
2, Java接口本身必须非常稳定,Java接口一旦制定,就不允许随遇更加,否则对外面使用者及系统本身造成影响
3, 用抽象类来定制系统中的扩展点
抽象类来完成部分实现,还要一些功能通过它的子类来实现
关于java系统接口设计和java设计一个接口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
java系统接口设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java设计一个接口、java系统接口设计的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~