JAVA面向对象 接口
Posted zjx-959
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA面向对象 接口相关的知识,希望对你有一定的参考价值。
1:接口:如果类所存在的方法都没实现 interface
类只可继承一个类,但可以实现(implements)多个接口,继承和实现可以同时
2:接口的特性:
接口不可以被实例化, eg:public interface Myname(){
实现类必须实现接口的所有方法 public void foo();
实现类可以实现多个接口 }
接口中的变量都是静态常量 所有方法都是:public abstract可以写抽象方法
3:可以使用java接口来实现
编写USB接口——根据需求设计方法 eg:public class Test imprements Myname{
实现USB 接口——实现所有方法 public void foo(){ System.out.println("")}
使用USB接口——用多态的方法使用 Myname v=new Test (); v.foo();}
4:面向接口编程:
程序设计时:关心实现类有何能力,而不关心实现细节。
面向接口的约定而不考虑接口实现
5:如何理解接口是一种能力?
接口有比抽象类更好地特征:
可以被多继承,设计和实现完全分离
更自然的使用多态
更容易搭建程序框架
更容易更换实现
6:面向接口编程的好处:
更加抽象,更加面向对象 ,提高编程的灵活性,提高可维护性降低耦合性
7:不能用修饰interface得有:
private,protected,static,
8:java 接口:属性都是全局静态常量 方法:全局抽象方法,无构方法
C#接口:成员主要是方法属性,不能包含常量,变量,构造方法,任何静态成员不能显示
指定任何修饰符。
8:C#中的接口
[修饰符] interface 接口名 : 父接口1,父接口2, …… {
属性定义 方法定义
}
class 类名 : 父类名,接口1,接口2, …… { }
定义接口:
public interface UsbInterface {
void Service ();
}
定义实现类:
public class UDisk : UsbInterface {
public void service() {
Console.WriteLine("连接USB口,开始传输数据。");
}
}
9:Java接口 和C#接口比较
Java接口 C#接口
定义 interface interface
实现 implements :
静态成员 常量 无
public 可以显示使用 不能显示使用
10:抽象类和接口的异同
相同:俩者都不能被实例化,不能new操作
不同:抽象类 absoract 接口interface
抽象类可以有部分方法实现,接口所有方法不能实现
一个类只能继承一个抽象类,实现implenments多个接口
接口可以继承多个接口
抽象类有构造方法,接口没有构造函数
抽象类可以有main也能运行 ,接口没有main函数
抽象类方法可以有private / protected 接口方法都是public
11:interface可以和abstract一起用
接口中只可定义常量不可定义变量 一个类可以实现多个接口 不能new操作
12:继承和接口的区别:
继承:子类和父类的关系,子类功能比父类完整,减少代码量。
一个子类只有一个父类 一个父类可以有多个子类
接口: 接口和实现类的关系,
(接口:规定,规范,标准。实现:具体实现代码功能)
一个可以实现implement的接口
13:抽象类和接口的区别:(都不能直接使用)
抽象类可以由属性,方法(抽象方法,普通方法)
接口中都是抽象方法 属性=静态常量 eg:public void int ();
使用:
抽象类必须继承extends 接口必须实现 implement
类是单继承 接口是多实现 接口是特殊的抽象类
以上是关于JAVA面向对象 接口的主要内容,如果未能解决你的问题,请参考以下文章