java接口能写那些内容,难到只能定义不带方法体的方法吗?定义不带方法体的方法有什么用?
java中的接口,存在目的主要在于定义规范,接口中的方法没有方法体,jdk1.8以后可以通过default关键字添加有方法体的方法,只要有其他的类实现接口,就必须实现方法,这就能起到规范的作用,还有一个 作用就是可以多态调用,不同实现类中方法体不同,但是通过多态调用就不用关心每个实现类中方法是如何实现的
java api中的接口的方法 不是没有方法体吗 为什么可以调用 是在哪复写的 底层是怎么实现的
java中的接口一般都会有实现类,实现类是实现接口中的方法
你调用的时候定义的是接口,但实际上是实现类的对象。
例子
//接口
public interface Person
{
public void gender();
}
//第一个实现类
public class Women implements Person()
{
@Override
public void SpeakGender()
{
system.out.print(“I am a woman “);
}
}
//第二个实现类
public class Man implements Person()
{
@Override
public void SpeakGender()
{
system.out.print(“I am a man “);
}
}
//调用测试
public static void main(String[] args) {
Person man = new Man();
Person women = new women();
man.SpeakGender();
women.SpeakGender();
}
//输出结果会是:
I am a man
I am a woman
纯手打,不知道有没有帮助到你。
java中为什么有些接口没有任何方法体
接口就是告诉你,有这个方法,但是没有实现(有些直接写好),
等有人去实现接口,你需要实现方法体。
比如有需求一个类可以查询成绩,
定义接口 IA里面有方法int[] getGrades(int classNum);
然后有一个类A实现了IA,他需要实现getGrades方法,
我们就在A里面写实现(就是过程),
然后一开始我们查询了成绩直接返回,但是只有需求明确了,成绩有从高到低
我们这时候不去改接口,去改A里面,对数组排序再返回,
所以接口就是告诉你,这是干嘛的,但是怎么做没说
JAVA的接口中的方法并没有方法体,更没看到return语句,为什么接口中有不少方法都能返回一个值。。。
Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 接口的两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。
上面是采用了百度百科中说法,下面谈谈我自己的理解
接口是对客户的一种承诺,具体如何做到这个承诺,由继承了该接口的类去实现。就好比一个人是好人,那么这个人一定会做好事,但做了什么好事,每个好人就不一样了,有的是帮助老人,有的是修桥铺路,等等。这里好人是接口,做好事是里面的方法,具体怎么做则由每一个好人去实现。
接口只是一个声明,没有具体的实现方法,所以接口中的方法只有方法声明,没有函数体。
java中没有方法体的方法是什么方法
没有方法体是直类似接口的写法,没有代码的方法也是有方法体的。可以举个例子: 没有方法体:public abstract void noMethodBody(); 空方法体:public void empertyBody(){} 是有本质的区别的。没有方法体的方法,是需要你去实现的。空方法体,是需要覆盖的。