Java 抽象类的使用 接口的使用, 区别等

1.抽象类的定义?

 使用关键字abstract来定义

如:

public  abstract  class  test{

}

1.包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法(有抽象方法,有抽象方法和普通方法,成员变量)

2.如果一个类不包含抽象方法,只是用abstract修饰的话也是抽象类。也就是说抽象类不一定必须含有抽象方法(抽象类不一定有抽象方法)

2.为啥要用抽象类?

抽象类就是为了继承而存在的,如果你定义了一个抽象类,却不去继承它,那么等于白白创建了这个抽象类,因为你不能用它来做任何事情。继承了抽象类,必须实现抽象方法,如不也要设置成抽象类

3.抽象类和普通类的主要有三点区别:

1.抽象方法必须为public或者protected,缺省情况下默认为public

2.抽象类不能用来创建对象

3.继承了抽象类,必须实现抽象方法,如不也要设置成抽象类


4.接口的定义

使用关键字interface

如:

public  interface  interfacename{

}


5.接口定义注意:

1.接口中可以含有 变量和方法

2.接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量,用private修饰会报编译错误(变量限制)

3.方法会被隐式地指定为public abstract方法且只能是public abstract方法(用其他关键字,比如private、protected、static、 final等修饰会报编译错误)

并且接口中所有的方法不能有具体的实现,也就是说,接口中的方法必须都是抽象方法

6.类实现接口

使用关键字implements

如:
class ClassName implements Interface1,Interface2,[....]{
}
1.可以看出允许一个类遵循多个特定的接口,

2.必须实现所有接口的所有方法


7.接口和抽象类的区别

抽象类                                            接口

使用关键词abstract                                                     使用关键字interface

可以有普通变量                                                           成员变量都是 public  static  final

可以有实现方法,抽象方法                                        方法都是 public  abstract不能有别的

一个类只能继承一个    、                                            可以实现多个接口

可以有构造方法 (有构造方法放不能new)           没有构造方法























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值