标签:静态 私有方法 str blog 通过 logs print http class
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。
补充:如果对接口不是很了解,请参考我另一篇博客详细介绍:https://www.cnblogs.com/chenyanbin/p/11020578.html
1 public interface 接口名称test { 2 //任何类型 final, static 字段 3 //抽象方法 4 }
接口当中包含的组成部分有:
1、抽象方法
2、常量
3、默认方法【java 8】
4、静态方法【java 8】
5、私有方法【java 9】
注意:
1、接口中的抽象方法,修饰符如果写必须是:public abstract
2、接口中的抽象方法,修饰符可以省略不写,默认就是:public abstract
3、抽象方法只有方法头,不能有方法体大括号
1 /* 2 * 如何定义一个抽象方法 3 * public abstract 返回值类型 方法名称(参数类型 参数名称) 4 */ 5 public interface Animal { 6 // 定义一个抽象方法:吃东西 7 public abstract void Eat(); 8 9 // 定义另一个抽象方法:睡觉 10 // 省略了public abstract也照样是抽象方法 11 /* public abstract */ void Sleep(); 12 }
1 /* 2 * 如何要使用定义好的接口,必须有一个接口的“实现类” 3 * 定义实现类格式为 4 * 5 * public class 实现类名称 implements 接口名称{ 6 * //重写所有的抽象方法 7 * } 8 * 9 */ 10 public class Cat implements Animal { 11 12 @Override 13 public void Eat() { 14 System.out.println("猫爱吃鱼~"); 15 } 16 17 @Override 18 public void Sleep() { 19 System.out.println("猫喜欢睡觉~"); 20 } 21 22 public void CatchMouse() { 23 System.out.println("猫抓老鼠~"); 24 } 25 }
1 /* 2 * 函数式接口 3 * 有且仅有一个抽象方法的接口 4 * 5 * 在接口上加上:@FunctionalInterface 6 */ 7 @FunctionalInterface 8 public interface Calculator { 9 int sum(int a, int b); 10 }
标签:静态 私有方法 str blog 通过 logs print http class
原文地址:https://www.cnblogs.com/chenyanbin/p/11623351.html