java设计一个程序包含抽象类_JAVA抽象类(包含abstract、interface)

本文探讨了JAVA中抽象类(abstract class)和接口(interface)的区别,包括语法定义、默认行为、继承关系等方面。同时,文章强调了接口隔离原则(ISP),指出在设计时应避免将不相关的功能混在一起,建议根据需求细化接口,以确保代码的可维护性和灵活性。通过具体的Door和Security_Door类的例子,展示了如何合理地使用抽象类和接口来实现功能的分离。
摘要由CSDN通过智能技术生成

抽象类 是对一系列看上去不同,但是本质上相同的具体概念的抽象。

在语法层面,

Java语言对于abstract class和interface给出了不同的定义方式:

abstract class方式定义:

abstract class Demo

{

int num1;

abstract int num2;

abstract void method1();

abstract void method2();

}

interface 方式定义:

interface Demo

{

static final int num;

void method1();

interface method2();

}

interface 中只能有 静态的、不能修改的 数据成员(static final),但是在interface中一般不定义数据成员。

interface 中所有成员方法都是abstract的。interface是一种特殊形式的abstract class.

首先,abstract class在java语言中表示 “一种继承关系”(即,需要用到extends关键字),一个类只能单继承(java不支持多继承),但可实现多个interface(即,需要用到implements关键字)。PS:为了弥补无法多继承的缺陷。

其次,abstract class可以赋予方法 默认行为,但interface中,方法不能拥有默认行为。

如果不能再抽象类中定义默认行为,就会导致 “同样的方

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值