当前位置: 首页 > news >正文

Java的继承与接口基础概念辨析

一、引言
在Java中,继承与接口是两个基础且重要的概念,虽目的语用法截然不同,却均用于建立类之间的联系。
二、继承
1>、定义
Java的继承指在一个现有类的基础上构建一个新的类,这种新类就是子类。
可用于:
·直接使用父类中非private的成员;
·重写(@Override)父类的方法以提供特定实现;
·添加新的成员;
2>、语法
class 父类{

}
class 子类 extend 父类{

}
3>、特点
1、子类前面的修饰符可选,没有修饰符包私有,带public则全局可见,abstract修饰的类表示该类是抽象类,该类的方法只有声明部分而没有具体实现,被final修饰的类即为最终子类,不能再被继承;
2、一个子类只能有一个直接父类;
3、父类引用可以指向子类对象;
如:
class Animal {
public void eat() {
System.out.println("进食");
}
}

class Dog extends Animal {
public void bark() {
System.out.println("吠叫");
}
}

Dog dog = new Dog();
dog.eat();
dog.bark();
//
其中
dog.eat(); ( 继承自 Animal)
dog.bark(); ( 自身方法)
三、接口
1>、定义
如果一个抽象类中的所有方法都是抽象的,则可以将这个类用另一种方式来定义,既接口,接口不提供实现,其可视为一种能力规范。
2>、语法
interface 接口名{

}
class 类名 implements 接口名{

}

由于在接口中的常量都默认为public static final类型,所有方法都默认为public abstract类型则编写程序时可省略这些修饰符。

3>、特点
1、接口中只能定义抽象方法,不能定义非抽象方法;
2、接口和类之间不能继承(extends),只能实现(implements);
3、一个类可以实现多个接口;
如:
interface Flyable {
void fly();
}

class Bird implements Flyable {
public void fly() {
System.out.println("振翅飞翔");
}
}

class Airplane implements Flyable {
public void fly() {
System.out.println("引擎驱动飞行");
}
}
四、两者的协同使用
继承与接口经常配合使用,如:
class Animal {
void eat() { System.out.println("进食"); }
}

interface Runnable {
void run();
}

interface Swimmable {
void swim();
}

class Dog extends Animal implements Runnable, Swimmable {
public void run() { System.out.println("奔跑"); }
public void swim() { System.out.println("游泳"); }
}

这种设计复用了Animal的通用行为,也赋予了Dog的多种特定能力。
五、总结
继承解决的是“是什么”的层次复用,是单继承;
接口解决的是“能做什么”的行为规范。

http://www.gsyq.cn/news/1350291.html

相关文章:

  • python旅游出行指南系统
  • 新手必学——git日常提交手册
  • python拼装模型商城销售管理系统
  • 2026年5月最新鞍山铁西黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • electron-vite 安装better-sqlite3
  • 2026年5月最新鞍山岫岩黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • 大模型时代的技术人:要么驾驭AI,要么被AI驾驭——致软件测试从业者
  • 程序员想开 AI 会员:ChatGPT、Claude、Gemini 这些该怎么充值更省心?
  • 3步搞定M3U8视频下载:告别在线播放限制的终极方案
  • 2026年5月最新巴彦淖尔磴口黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • 回归测试:确保 Harness 更新不破坏现有功能
  • 为什么93%的团队在Lindy-Slack集成中忽略API Rate Limiting?——生产环境熔断策略与退避算法详解
  • Git入门不求人:用大白话讲清每一个核心命令
  • 电脑手机免费去水印工具怎么选?2026实测安全无广告去水印软件推荐 - 科技热点发布
  • Flipper One技术规格大揭秘:外观、性能、接口等细节全知晓!
  • 2026论文必藏AI智能降重工具大曝光:智能算法直击安全阈值
  • 快手视频怎么去水印?快手去水印免费软件盘点,2026 实测有效方法 - 科技热点发布
  • 码道助阵:Hermes本地部署轻松搞定
  • 长期项目使用Taotoken的账单追溯功能管理AI支出体验
  • 【Go Generics】泛型为何而生的
  • Apache Flink 快速入门
  • 为什么92%的Gemini集成项目在GDPR第32条“安全义务”上失分?——深度拆解加密密钥管理、日志留存与Pseudonymisation实施盲区
  • 54种Barlow字体样式:解决你的专业设计字体选择难题
  • 毕业论文难写?2026年AI论文平台排行榜权威发布,轻松定稿不是梦!
  • 什么是电子铅封管理系统APP 有那些功能
  • Supervisely SDK:让计算机视觉开发效率提升10倍的神器
  • 多地点定位员工考勤小程序管理系统
  • 良心盘点!2026AI写作辅助软件榜单(覆盖 99% 毕业论文需求)
  • 3分钟学会Untrunc:让损坏视频重获新生的开源神器
  • 基于 ComfyUI 本地部署 的「图像 + 音频 → 口型匹配 + 自动运镜」MV 全流程指南