Java的接口和抽象类的特点

Java的接口和抽象类的特点

最近在看spring5源码的时候发现大量接口和抽象类的综合使用,让我再次深入理解了接口和抽象类的知识,下面做一些小总结,以便于记忆。

接口

1、interface修饰的类,其等值于 abstract interface

public abstract interface Person{}
public interface Person{}
//二者等值

2、接口中可以定义属性,但是定义的属性默认时静态常量,且必须初始化,但是只可以用public修饰或者不加修饰符

	int age = 18;
    public String name = "姓名";
    public static final String addr = "山居";
    //三者等值

3、接口中定义的方法不能有方法体,且修饰符只能用public或者默认为空,因为接口都是需要被实现的,所有用public修饰没什么问题哈

    public String height();
    String getName();

抽象类

abstract修饰的类就是抽象类

public abstract class YourSelf implements Person{
 	public abstract String setName();
    protected abstract String getaddr();
}

可以用publicprotected来修饰,protected修饰的时候就只能在本包内使用该抽象类,以下为一些基本特点:
1、抽象方法只能在抽象类里面
2、抽象类和抽象方法必须被abstract 修饰
3、抽象类不能创建对象(即不能实例化)
4、抽象类中可以有非抽象的方法和一般属性
5、抽象类和类的关系也是继承
6、一个类继承了抽象类,要么重写所有的抽象方法,要么它自己就是抽象类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值