We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如果一个类之中只是有抽象方法和全局常量组成,通常定义成接口,接口属于特殊的抽象类,这个类中只有抽象方法和全局常量,没有构造。
1.接口不能直接用new实例化 2.接口必须要有子类(此时以一个子类可以使用inplements实现多个接口) 3.接口的子类如果不是抽象类,必须复写接口中的全部抽象方法 4.接口的对象可以利用子类对象的向上转型实现实例化 5.子类又要继承又要接口,先继承 6.接口中只能使用public访问权限(可以省略)
接口和抽象类对比 相同点: 1.都是上层的抽象层 2.都不能被实例化,依靠向上转型实例化 3.都能包含抽象的方法,这些抽象的方法用于描述类具备的功能,但是不比提供具体的实现 不同点: 1.一个抽象类只能继承一个抽象类(单继承),一个接口能继承多个接口(接口多继承) 2.一个子类只能继承一个抽象类,但可以实现多个接口 3.在抽象类中可以写非抽象的方法,从而避免在子类中重复书写他们,这样可以提高代码的复用性,这是抽象类的优势;接口中只能有抽象的方法。 4.抽象类可以使用多个权限,接口只能是public
注意点 1.接口的主要为了解决单继承局限问题 2.接口内部结构可以定义普通内部类,抽象内部类,内部接口 3.一个接口如果用了static定义一个内部接口,表示是一个外部接口
接口的核心作用: 1.定义操作标准 2.表示一种操作能力 3.表示将于服务端的远程方法视图暴露给客户端.
总结: 自己写的接口,尽量不要用new直接实例化接口,使用工厂函数实例化接口 接口作为标准用于解耦合以及不同层之间的桥梁
The text was updated successfully, but these errors were encountered:
No branches or pull requests
1.基本概念
如果一个类之中只是有抽象方法和全局常量组成,通常定义成接口,接口属于特殊的抽象类,这个类中只有抽象方法和全局常量,没有构造。
2.接口的使用
1.接口不能直接用new实例化
2.接口必须要有子类(此时以一个子类可以使用inplements实现多个接口)
3.接口的子类如果不是抽象类,必须复写接口中的全部抽象方法
4.接口的对象可以利用子类对象的向上转型实现实例化
5.子类又要继承又要接口,先继承
6.接口中只能使用public访问权限(可以省略)
接口和抽象类对比
相同点:
1.都是上层的抽象层
2.都不能被实例化,依靠向上转型实例化
3.都能包含抽象的方法,这些抽象的方法用于描述类具备的功能,但是不比提供具体的实现
不同点:
1.一个抽象类只能继承一个抽象类(单继承),一个接口能继承多个接口(接口多继承)
2.一个子类只能继承一个抽象类,但可以实现多个接口
3.在抽象类中可以写非抽象的方法,从而避免在子类中重复书写他们,这样可以提高代码的复用性,这是抽象类的优势;接口中只能有抽象的方法。
4.抽象类可以使用多个权限,接口只能是public
注意点
1.接口的主要为了解决单继承局限问题
2.接口内部结构可以定义普通内部类,抽象内部类,内部接口
3.一个接口如果用了static定义一个内部接口,表示是一个外部接口
接口的核心作用:
1.定义操作标准
2.表示一种操作能力
3.表示将于服务端的远程方法视图暴露给客户端.
总结:
自己写的接口,尽量不要用new直接实例化接口,使用工厂函数实例化接口
接口作为标准用于解耦合以及不同层之间的桥梁
The text was updated successfully, but these errors were encountered: