JAVA抽象类与接口

来源:互联网 发布:中学生网络成瘾量表 编辑:程序博客网 时间:2024/05/29 14:02

Java抽象类

抽象方法:使用abstract关键字修饰的方法,没有方法体,抽象方法只能使用public 或者protected修饰。

public abstract void fun();

抽象类
使用abstract关键字修饰的类
包含抽象方法的类是抽象类
抽象类可以不包含抽象方法
抽象类只能被继承,不能自己创建实例
一个类只能继承一个抽象类

abstract class Person{    abstract void fun();    abstract void sleep();}

并且子类继承抽象类必须实现抽象类的所有抽象方法
抽象类可以有构造器,但是抽象类自己不能构造实例。
抽象类的构造器用于被子类调用。与继承父类先调用父类构造器一样

接口

接口使用interface修饰,接口里面包含的方法不能有方法体。
实现接口必须实现接口里面所有的方法。实现接口用implements关键字

interface Person{    public void fun();    public void sleep();}

接口可以被多继承,即一个类可以继承多个接口

default修饰的普通方法
在接口中用default定义的方法可以有方法体:

interface Person{    public void fun();    public void sleep();    default void eat() {                System.out.println("吃东西");    }}

static修饰的静态方法:
可以直接使用接口.方法名调用

interface Person{    public void fun();    public void sleep();    default void eat() {                System.out.println("吃东西");    }    static void run(){        System.out.println("跑步");    }}
原创粉丝点击