加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JAVA基础(十二)抽象类与接口

发布时间:2020-12-15 05:30:39 所属栏目:Java 来源:网络整理
导读:抽象类 总结: ??????????????? 类支持单继承。接口支持多继承 ??????????????? 类与类单继承, ??????????????? 类实现接口,接口继承接口,先继承后实现 ? ?? 自己理解? 抽象类:描述笼统的,模糊,不具体的具有共性的类? 抽象类格式Public abstract class

抽象类

总结:

??????????????? 类支持单继承。接口支持多继承

??????????????? 类与类单继承,

??????????????? 类实现接口,接口继承接口,先继承后实现

?

?? 自己理解? 抽象类:描述笼统的,模糊,不具体的具有共性的类?

抽象类格式

Public abstract class 类名{

     成员变量

//方法

    public  abstract     返回值类型   方法名  (参数);

    Public   abstract         void    get   ();//抽象函数。需要abstract修饰,并分号;结束

}

?

?

1.1????? 抽象类的特点:

???????????????????????? 1、抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。

???????????????????????? 2、抽象类不可以直接创建对象,原因:调用抽象方法没有意义。

???????????????????????? 3、只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。

????????????????????????? 4. 之所以继承抽象类,更多的是在思想,是面对共性类型操作会更简单。

?

抽象类? 思想

?????????????? ? ? ? 1.抽象类一定是个父类,因为抽象类需要其子类覆盖所有的抽象方法,才可以对子类进行实例化对象

? ? ? ? ? ? ? ? ? ? ? 2.抽象类中可以不定义抽象方法。????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????? 3. 一旦一个类继承了抽象类,。? ? ? ? ? ? ? ?????????????????????????????????????????????????????????????????????????????????????????????

?????????????????????????????????????? 3.1? 子类要么重写父类的方法,明确其功能

?????????????????????????????????????? 3.2???? 要么继续抽象下去

? ? ?? 1、private:

??????????????? 私有的方法子类是无法继承到的,也不存在覆盖,而abstract和private一起使用修饰方法,abstract既要子类去实现这 ? ? ? ? ? ? ? ? ? ? ? ? ?? ???? 个方法,而private修饰子类根本无法得到父类这个方法。互相矛盾。

???????????????????????????????????????????? 2、final,暂时不关注? 3、static,暂时不关注

?

抽象类与普通类的区别

抽象类:??????????? 1.既可以定义抽象方法,也可以定义一般方法

?????? ? ? ? ? ? ? ? ? ?? ?? 2.不可以实例化????????????????????????????????????????????

?????????????????????????? 3.描述的事物可能信息不足???????????????????????????

普通类:?????????? 1.只能定义普通方法 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

????? ???????????????????? 2. 可以实例化 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

???????????????????? ? ?? 3. 描述的事物很详细??????????????????????????????????????

?

?????????????????????????? 接口

自己理解

????????????????? ? ?? 抽象类是现实事物的描述(模糊描述共有的特点);

????????????????????? 接口是额外功能的集合

建立接口定义格式:interface?? 关键字

public interface 接口名 {

                 抽象方法1
                抽象方法2
                抽象方法3;

}                                              

伪代码

public interface Drink {
     //抽象方法 public abstract void  drink();

}

?????????????????????????? 使用interface代替了原来的class,

?? 其他步骤与定义类相同:

?? ? ? ? ? ? ? ? ? ? ?? 1.? 接口中的方法均为公共访问的抽象方法

? ? ? ? ? ? ? ? ? ? ? ? 2.? 接口中无法定义普通的成员变量

?

类实现接口

classimplements 接口 {

   重写接口中方法

}
例子 class 子类 extends 父类 implements 接口 {

      重写父类中方法

 重写接口中方法

}

 

伪代码

public class student implements smoking,Drink(接口支持多继承){

        (  重写接口中方法)

     public void smoke() {

            System.out.println("学生"); 

  }
}
在类实现接口后,该类就会将接口中的抽象方法继承过来,此时该类需要重写该抽象方法,完成具体的逻辑。

?

?

成员特点:

??????????????????? 1、接口中可以定义变量,但是变量必须有固定的修饰符修饰,public static final 所以接口中的变量也称之为常量 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 其值不能改变。后面我们会讲解static与final关键字

???????????????????? 2、接口中可以定义方法,方法也有固定的修饰符,public abstract

??????????? ? ? ???? 3、接口不可以创建对象。

??????????????? ? ? ? 4、子类必须覆盖掉接口中所有的抽象方法后,子类才可以实例化。否则子类是一个抽象类。

?

总结:接口在开发中的它好处

1、接口的出现扩展了功能。

2、接口其实就是暴漏出来的规则(方法)。

3、接口的出现降低了耦合性(融合度),即设备与设备之间实现了解耦。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读