抽象类和接口

抽象类

概念:包含抽象方法的类称为抽象类。

抽象方法:该方法没有具体的实现,所以使用abstract方法来修饰

abstract class Shape{
public abstract void draw();
 
}

1、抽象类普通类的区别:

①抽象类多了一个抽象方法。

②抽象类不能直接被实例化。

③抽象类和普通类都可以被继承和重写,但抽象类不重写编译器会提示。

注意点:

Ⅰ:抽象类不能被实例化。(不能直接new)

Ⅱ:抽象类中可以有和普通成员一样的成员,就是不能实例化。

Ⅲ:一个普通类如果继承了抽象类,这个类需要重写这个抽象类当中 的所有抽象方法

Ⅳ:一个抽象类A,继承了抽象类B之后,可以不重写抽象类B中的方法,但A被一个普通的类继承之后,一定要重写所有的抽象方法。(包含A和B中所有的抽象方法)

Ⅳ:抽象方法不能被private和final修饰

抽象类的意义:为了被继承

接口

Ⅰ:接口当中的方法都是没有具体实现的。

interface IShape{

public abstract void draw();

}

Ⅱ:一个类被interface修饰,就叫做接口。

Ⅲ:接口当中可以定义字段和抽象方法。

Ⅳ:接口当中的方法,默认全是public abstract

Ⅳ:接口也是不能被实例化的

Ⅵ:class Dog inplements IShape{}

Ⅶ:可以同时继承抽象类,也可以同时实现多个接口,但是类,只能继承一个,

Ⅷ:接口的出现,是为了弥补Java当中多继承的要求(一定是先继承类,再实现接口

Ⅸ:接口可以拓展多个接口

interface D extends A,B,C {

void funcD();

}

常见的三个接口:

①Comparable

实现compareTo,一般用在类的内部

②比较器 Comparator,一般用在类的外部

实现compare方法

③Cloneable(标记当前这个类是可以被克隆的)

public interface Cloneable{}

接口里面什么都没有,此时这个接口叫做空接口

还涉及到深拷贝和浅拷贝

深拷贝:不仅拷贝了自己本身,还拷贝了里面的对象,这种拷贝叫做深拷贝

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值