栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

抽象类&接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

抽象类&接口

抽象类

不能被实例化的类,只能被继承

定义:使用关键字abstaract修饰类

 1 被abstract修饰的类就是抽象类

 2 可以被继承,也可以继承其他类

 3 不能创建实例

 4 其它资源和普通类一样

public abstract class People{
    private String name;
    private String sex;
    private int age;

    public void eat(){}
    public void sleep(){}
}

抽象方法

定义:使用abstract修饰方法

1只能存在于抽象类中

2不能有方法体

3如果子类继承了含有抽象方法的抽象类,那么必须要重写抽象方法

public abstract void play();
继承抽象类
public class Hero extends People{
    public void skill(){
        System.out.println("独特的技能");
    }
	//重写父类中的抽象方法
    public void play(){
        System.out.println("我可以玩游戏");
    }
}
接口

修饰符:interface

特点:

不能被创建对象

只能包含抽象方法

接口只能被实现,实现接口的类必须重写接口中的所有抽象方法

实现接口关键字:implement

一个类可以实现多个接口

接口可以继承接口,不能继承类

接口实例
public interface Demo {   //接口
    public void m1();   //抽象方法
}
实现接口
public class Son implements Demo,Demo02,Demo03 {  //一个类可以实现多个接口
    @Override
    public void m1() {  //必须重写接口中的抽象方法

    }
}
接口的继承
public interface Demo03 extends Demo{ //接口只能继承接口
}
总结 抽象类的特点(对比普通类)

1抽象类中包含普通类中的所有元素,同时包含抽象方法(普通类中没有抽象方法)

2抽象类中也有构造器,但是不能被实例化(不能创建对象)

3抽象类可以继承抽象类(只能单继承),不需要实现抽象方法

4普通类继承抽象类,必须要实现抽象方法

5抽象类必然要被继承

6抽象类不一定有抽象方法,但是有抽象方法的类一定是抽象类

接口的特点

接口不能实现接口,因为接口无法实现方法

接口可以继承接口,还可以多继承

一个类实现接口或多个接口,必须实现所有接口中的所有抽象方法

一个类继承其它类,还可以同时实现接口

接口中的属性默认是常量(默认被static和final修饰)

jdk8新特性

给接口中方法提供默认实现,让实现它的类可以不实现该方法(jdk8以上版本)

public interface Demo {   //接口
    default void m1(){};   //defualt   接口方法默认实现
}
抽象类和接口对比

1抽象类使用abstract来修饰,接口使用interface来修饰

2抽象类有构造方法,接口没有抽象方法

3抽象类中可以有main函数,并且可以运行,接口中没有main函数

4普通类使用extends来继承抽象类,使用implement来实现接口

5一个类只能继承一个抽象类,但可以实现多个接口

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1000197.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号