首页 > 编程语言 >JavaSE基础(5)——抽象类与接口

JavaSE基础(5)——抽象类与接口

时间:2024-08-13 13:27:08浏览次数:8  
标签:子类 接口 抽象 JavaSE 父类 方法 抽象类

目录

1、abstract关键字 

2、抽象方法

3、抽象类

4、接口

5、接口与抽象类的区别

6、JDK8版本接口新特性

7、类之间的关系

8、UML类图


1、abstract关键字 

  • 可以修饰类和方法,不可以修饰属性,对应的类和方法就称之为抽象类和抽象方法;

2、抽象方法

  • 有抽象方法的类一定是抽象类,抽象类中不一定有抽象方法;抽象方法没有方法体

3、抽象类

抽象类是父类对子类进行的约束,普通子类必须重写父类抽象类的抽象方法,抽象的子类可以不重写父类的抽象方法;抽象类不能被实例化,抽象类中有构造方法

  • 抽象类的特点
  1. 有抽象方法的类被称之为抽象类
  2. 抽象类中可以有抽象方法也可以有普通的方法
  3. 如果子类没有重写父类中的抽象方法,那么子类一定是一个抽象类
  4. 可以作为其他类的父类存在(约束子类)
  5. 利于扩展(设计思想)

4、接口

接口是一个特殊的抽象类;接口中只有抽象方法和静态常量;接口使用interface修饰;

子类下的对象如果想实现某种方法,可以让子类实现(implements)接口中的抽象方法;

接口可以继承另一个接口,使用extends关键字;

public interface 接口名{
    //静态属性  --不常用
    [public final static] 数据类型  常量名 = 值;
    int AGE =18;
    //抽象方法
    [public static] void  方法名();
    void fly();
}
  • 练习:接口,飞;类,老鹰;鹰(Eagle)类实现飞(fly)接口
public class Eagle extends Animal implements Fly, Catch{
     @Override
     public void fly() {
         System.out.println("老鹰飞");
     }
     @Override
     public void catchs() {
         System.out.println("抓小鸡");
     }
}

     //定义的接口 表示一种能力
public interface Fly {
     public static final int AGE = 10;
     void fly();
}

5、接口与抽象类的区别

1、接口是一种实现问题的能力,抽象类是一种概念;

2、抽象类具备类中包含的内容,接口中只有抽象方法和静态常量;

3、Java中一个类只能继承继承一个父类,但是可以实现多个接口,一个接口继承多个接口
        类与类----》 继承(extends)
        类与接口---》实现(implements)
        接口与接口--》继承(extends)

6、JDK8版本接口新特性

1.接口中可以写静态方法
        static   返回值类型  方法名() {}
 2.默认的方法(default)
        default  返回值类型 方法名() {}
 3.如果接口中有默认的方法,子类必须重写这个默认的方法。 

7、类之间的关系

  1. 继承 / 实现:子类可以通过继承拥有父类的属性和方法,也可重写实现父类的方法
  2. 依赖:两个类之间的横向关系(临时),通过在方法中当作参数使用
  3. 关联:强依赖
  4. 组合:强聚合,整体和局部的生命周期一样
  5. 聚合:仅强调整体和局部的关系,代表部分的对象可能会被多个代表整体的对象所共享

聚合和组合的区别:聚合是个体离开了整体,依然可以存在
                                组合是个体和整体不可以分开,个体不能离开整体单独存在

几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖;

8、UML类图

  • 继承 / 实现:(空心三角箭头,子类指向父类)

  • 依赖:(虚线箭头,实用类指向被调用类)

  • 关联:(实线箭头,使用类指向被调用类)

  • 组合:(实心菱形——箭头,整体指向部分)

  • 聚合:(空心菱形——箭头,整体指向部分)

标签:子类,接口,抽象,JavaSE,父类,方法,抽象类
From: https://blog.csdn.net/qq_64751004/article/details/141154701

相关文章

  • apifox进行https接口测试
    SSL双向认证-SpringBoot项目_apifox添加证书-CSDN博客说是SSL证书验证开启,可能验证不通过,根据实际情况来单向认证,客户端证书就不必上传了注:这里我上传的是p12证书,所以选择下图所示上传另外,这里用的是rsa2048,SM2试了,貌似有问题,如果只是简单的get,可以考虑用奇安信等支持......
  • H5 html单页面实现对接接口,获取接口数据
    一、AJAX的一种实现方式,XMLHttpRequestvarxhr=newXMLHttpRequest();xhr.open("POST","你的接口URL",true);xhr.setRequestHeader("Content-Type","application/json;charset=UTF-8");//准备发送的数据vardata=JSON.stringif......
  • ElasticSearch接口
    DSL语法DSL为ES过滤数据时的语法,可用于查询、删除等操作基本构成默认分页查询,size默认为10。ES查询默认最大文档数量限制为10000,可通过index.max_result_window配置来控制,建议考虑通过滚动查询或其他策略实现超过10000限制的查询{"query":{"match":{......
  • 《企业微服务实战 · 接口鉴权思路分享》
    ......
  • JavaSE基础知识分享(五)
    写在前面前面讲的是面向对象中的继承思想,下面让我们来看看多态这部分的内容!Java面向对象概念概述多态概述:某一个事物在不同状态下的多种状态。实现多态的三大前提:要有继承关系。要有方法的重写。要有父类的引用指向子类对象。访问成员的特点:成员变量:编译时看左,运行......
  • 接口和多态的区别
    接口和多态的区别区别:概念层面:接口是一种定义行为规范的方式,而多态是这种行为规范在运行时的具体表现。实现机制:接口通过关键字interface来定义,而多态的实现可能涉及到接口的实现、继承和方法重写。目的:接口的目的是为了定义一个共同的规范,使得不同的类可以有统一的调用方......
  • 抽象类、实现类、接口的区别
    抽象类、实现类、接口的区别接口和抽象类的区别:1.抽象类中的方法可以有方法体,也就是可以实现具体的方法,但是接口中的方法必须是抽象的,只能声明,没有方法体2.抽象类的成员变量修饰随便(public,private,protected等等),接口的成员变量必须是public,static,final修饰(默认)(可以用来做定......
  • 抽象类
    抽象类的概念什么是抽象抽象类(AbstractClass):在面向对象编程中,抽象类是一个不能被实例化的类,它通常包含抽象方法。抽象方法是没有实现的方法,它只声明了方法的签名,具体的实现留给子类去完成。这里有一个规则:既然父类里面的方法是抽象的,那么对于整个类来说,它就有一个没有实现......
  • 接口
    接口的概念什么是接口?接口就是一个规范,类似于硬件上面的接口,在电脑主板上的PCI插槽的规范就类似于Java接口,只要是遵循PCI接口的卡,不过是什么牌子的都可以插入到PCI插槽中。所以接口就是一个规范。接口就是某个事物对外提供的一些功能的说明。我们还可以利用接口实现多态功能,同时......
  • Neuralink的进展与马斯克的技术愿景——从脑机接口到AI融合的未来
    引言Neuralink,这个由埃隆·马斯克(ElonMusk)创立的公司,一直是科技界的焦点。自从其发布以来,Neuralink的脑机接口技术便吸引了全球的目光。最近,马斯克再次向公众展示了Neuralink的突破性进展,成功为第二位患者植入了脑机接口。这项手术标志着Neuralink在增强人类与机器互动能......