JAVA中定义接口时可以包涵哪些成员?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中定义接口时可以包涵哪些成员?相关的知识,希望对你有一定的参考价值。
参考技术A在接口类中,成员变量必须都是常量,也就是final修饰的。
接口中的方法默认都是public abstract 都是抽象的,比如 public abstract int(int a,int b);
因为,java中没有多重继承,只可以实现多个接口,而有很多的天然性,也就是static final这种类型数据,我们通过实现多个接口,就可以获得各种不同的天然属性。
扩展资料:
在Java语言规范中,一个方法的特征仅包括方法的名字、参数的数目和类型,而不包括方法的返回类型、参数名以及所抛出来的异常。在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。
参考资料来源:百度百科-java接口
java中接口中成员的定义
java中的接口的作用是提供编程框架,它作为统一的规范让其他类进行扩展,是java中非常优秀的设计。
这娃用以下代码总结了java中接口可以定义的成员以及它们默认被修饰的关键字:
//外部接口的访问修饰符只能是public或默认修饰符 ,并且它的成员只能用public访问修饰符修饰, 接口不能用final修饰 public interface A { //成员变量,默认用public static final 修饰 String name="ahei"; //成员方法,默认用public abstract 修饰 void abstractMethod(); //内部接口,默认用public static 修饰 interface Interf{} //内部类,默认用public static 修饰 class InnerClass{} //静态方法,默认用public修饰,接口中的静态方法不能用final修饰 static void staticMethod(){} //默认方法,可提供方法实现,作为库、框架向前兼容的手段 default void defaultMethod(){ System.out.println("haha"); } public static void main(String[] args){ //以下说明接口中的类成员和接口成员都是默认用static修饰的 new A.Interf() { }; new A.InnerClass(); //静态方法的调用在编译期就已经确定,由声明的类型决定 C c=new D(); c.set(); //输出C //默认方法通过对象调用 new F().defaultMethod(); } } //静态方法也能重写,不过它们属于各自的类,不会有运行时多态 class C { static void set() { System.out.println("C"); } } class D extends C { static void set() { System.out.println("D"); } } class F implements A{ @Override public void abstractMethod() {} }
java的接口中还可以定义枚举类,并且接口中的静态方法和默认方法是java8新增的,默认方法可为接口提供新的功能,并且不影响老版本代码的实现,保证了向前兼容。
以上是关于JAVA中定义接口时可以包涵哪些成员?的主要内容,如果未能解决你的问题,请参考以下文章