接口就是规范,定义的是一组规则和约束
普通类: 具体的实现,使用修饰符class进行定义类,使用extends进行继承 抽象类: 可以有具体的实现也可以有规范,不但不能通过new进行实例化对象,使用修饰符abstract定义,使用extends继承 接口: 只有规范,无法写方法。使用interface修饰符声明接口,使用implement关键字。面向接口编程
接口的定义
package Demo3;
public interface Interface {
}
接口中定义方法
在接口中定义方法无法像在类中定义方法一样
接口中定义方法直接写返回值类型和方法名即可,接口中的属性和方法都是抽象的
package Demo3;
public interface Interface {
void demo();
}
接口中的方法及时不写修饰符,默认都是public abstract修饰 定义方法
package Demo3;
public interface Interface {
String add(String name);
String del(String del);
}
接口只有定义没有具体的实现,需要通过实现类来实现,一般实现类使用Impl结尾
创建实现类,并使用implements关键字实现接口
class ServiceImpl implements Interface{
}
实现接口的类需要重写接口里的方法,这点跟抽象类相似 重写方法:
package Demo3;
public interface Interface {
String add(String name);
String del(String del);
}
class ServiceImpl implements Interface{
@Override
public String add(String name) {
return null;
}
@Override
public String del(String del) {
return null;
}
}
继承和接口的关系
继承只能是单继承,一个父类可以有多个子类,但一个子类只能有一个父类。接口是属于 [伪] 多继承的,相当于是一个子类可以有多个父类
package Demo3;
public interface Interface {
String add(String name);
String del(String del);
}
interface TimeInt{
int age(int Age);
}
class ServiceImpl implements Interface,TimeInt{
@Override
public String add(String name) {
return null;
}
@Override
public String del(String del) {
return null;
}
@Override
public int age(int Age) {
return 0;
}
}
接口中的属性
接口中默认的属性是常量,使用修饰符 public static final进行默认修饰
接口小结:
- 接口是一组约束、规则
- 接口定义方法可以实现多个,使用implements关键字进行实现
- 接口中的方法默认使用的是public abstract进行修饰
- 接口中的属性默认使用的是public static abstract修饰
- 接口中没有构造方法,不能使用new实例化调用
- 使用接口必须重写里面的方法
|