当前位置 : 主页 > 网络编程 > PHP >

【Java】抽象类(abstract)、接口(interface)

来源:互联网 收集:自由互联 发布时间:2023-10-08
前言 写在前面的话,不听b站老师的话,不写博客又加之不经常用JAVA,导致现在遗忘十分严重,古人云:亡羊补牢,为时未晚。故今日做补牢之举。勉之! 一、抽象类 抽象类类中可以


前言

写在前面的话,不听b站老师的话,不写博客又加之不经常用JAVA,导致现在遗忘十分严重,古人云:亡羊补牢,为时未晚。故今日做补牢之举。勉之!


一、抽象类

抽象类类中可以没有抽象方法,但如果有抽象方法,则该类一定是抽象类。抽象方法只写方法的声明,具体实现交给子类(非抽象类)去实现。

public abstract class Abstract {
public abstract void run();
}

如上,声明了一个run的抽象方法,具体的实现交给子类。

public class Demo01 extends Abstract{
@Override
public void run()
{
System.out.println("一直努力的向前奔跑");
}
}

子类需要先继承抽象类(extends),然后重写父类中所有的抽象方法。

抽象类的特点:

    1、抽象类中没有构造方法,所以不能够直接实例化对象

2、抽象类中可以没有抽象方法,但有抽象方法的一定是抽象类。

3、抽象方法需要一个非抽象子类,来继承,重写方法。

4、抽象类只能单继承,不能够多继承(Class cannot extend multiple classes)

二、接口

接口的本质是契约,最主要的重要是约束和实现的分离
创建一个接口

public interface Demo02interface {
void walk();
}

用到interface关键字,它和class是同级的。

1、接口中没有构造方法,所以不能直接实例化对象,interface
2、接口中只有常量 public static final
3、接口中不能写方法体
4、所有的方法默认都是抽象的
5、子类需要用implements来使用接口,同时要重写(@Override)接口的方法
6、接口可以实现多继承 接口要用,来分隔(多继承确实牛啊)

接口的多继承

public class Demo03 implements Demointerface,Demo02interface{
@Override
public void run()
{
System.out.println("我一直在努力的奔跑");
}
public void walk()
{
System.out.println("走累了,就歇一会");
}
}

总结

前路茫茫,与君共勉 安静的进步,快乐的学习


上一篇:【Java】内部类、File类、线程优先级
下一篇:没有了
网友评论