1 如何定义interface

如何在java中定义接口:

1
2
3
4
5
public interface InterfaceName{
//这里写具体的接口内部的方法
//比如:
public void getName();
}

2 如何定义abstract

如何在java中定义抽象类:

1
2
3
4
5
6
7
8
9
10
public abstract class AbsName{
//这里写具体的方法 可以写抽象方法和具体方法
//比如:
public void getName(){
return "";
}; //不是抽象方法

public abstract void getAge();

}

interface和abstract的相同之处

  • 都是用来定义一个规范的,不写具体的实现

interface和abstract的不同之处

  • interface内部定义的方法,它的实现类必须将其全部实现
  • abstract内部定义的方法,继承自它的子类,其子类可以不用全部实现其父类中的方法,普通方法可以不用全部实现,抽象方法必须全部实现
  • 抽象类中可以没有抽象方法

看具体代码

AbsClass.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public abstract class AbsClass {
/*
这是定义的一个抽象方法 不需要大括号
继承该类的子类必须实现该方法
*/
public abstract int getAge();

/*
这是一个普通方法 必须带大括号,内部可以空实现即不写任何代码
继承该类的子类可以不用实现该方法
*/
void showName(){}

}

interface1.java

1
2
3
4
5
6
7
public interface interface1 {
/*
下面定义的两个方法,实现该接口的类,必去全部实现
*/
void show();
void print();
}

concreteClass.java

1
2
3
4
5
6
7
8
public class concreteClass extends AbsClass {


@Override
public int getAge() {
return 0;
}
}

concreteInterface.java

1
2
3
4
5
6
7
8
9
10
11
public class concreteInterface implements Interface1 {
@Override
public void show() {

}

@Override
public void print() {

}
}

写在最后

欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。
微信公众号