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

网站制作流程详解(学做网站第一步)网站备案流程

网站制作流程详解(学做网站第一步),网站备案流程,旧安卓手机做网站,网站改版中 模板🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 JavaSE核心知识点02面向对象编程02-03&#…

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关

  • 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息

文章目录

    • JavaSE核心知识点02面向对象编程02-03(抽象类与接口)
    • 一、抽象类(Abstract Class)
      • **1. 什么是抽象类?**
      • **2. 抽象方法**
      • **3. 继承抽象类**
      • **4. 使用场景**
    • 二、接口(Interface)
      • **1. 什么是接口?**
      • **2. 定义接口**
      • **3. 实现接口**
      • **4. 多实现**
      • **5. 使用场景**
    • 三、抽象类 vs 接口:核心区别
    • 四、如何选择抽象类 vs 接口?
      • **1. 用抽象类的情况**
      • **2. 用接口的情况**
    • 五、实际案例
      • **场景**:设计一个游戏中的角色系统
    • 六、常见误区
    • 七、总结


📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

JavaSE核心知识点02面向对象编程02-03(抽象类与接口)

好的!作为Java面向对象编程的两个核心概念,抽象类接口是代码设计中非常重要的工具。下面我会从基础概念到实际应用,用简单易懂的方式为你详细讲解它们的区别和使用场景。


一、抽象类(Abstract Class)

1. 什么是抽象类?

  • 定义:用 abstract 关键字修饰的类,不能被实例化(不能直接 new)。
  • 核心作用:为子类提供公共模板,强制子类实现某些方法。
  • 特点
    • 可以包含普通方法(有方法体)和抽象方法(无方法体)。
    • 可以有成员变量构造方法静态方法等。
    • 单继承:一个类只能继承一个抽象类。

2. 抽象方法

  • 定义:用 abstract 修饰的方法,没有方法体,必须由子类实现。
    public abstract class Animal {// 抽象方法:没有方法体public abstract void eat();// 普通方法public void sleep() {System.out.println("动物在睡觉");}
    }
    

3. 继承抽象类

  • 子类必须实现所有抽象方法,否则子类也必须声明为 abstract
    public class Cat extends Animal {@Overridepublic void eat() {System.out.println("猫吃鱼");}
    }
    

4. 使用场景

  • 代码复用:多个子类有共同的代码逻辑(如 sleep() 方法)。
  • 强制规范:要求子类必须实现某些功能(如 eat() 方法)。

二、接口(Interface)

1. 什么是接口?

  • 定义:用 interface 关键字定义,表示一组行为规范
  • 核心作用:定义类能做什么(能力),而不是是什么(类型)。
  • 特点
    • 默认方法:Java 8+ 允许接口包含 default 方法(有方法体)。
    • 静态方法:Java 8+ 允许接口包含 static 方法。
    • 多实现:一个类可以实现多个接口。
    • 没有构造方法,不能实例化。
    • 成员变量默认是 public static final(常量)。

2. 定义接口

public interface Flyable {// 抽象方法(默认是 public abstract)void fly();// Java 8+ 默认方法default void land() {System.out.println("正在着陆");}// Java 8+ 静态方法static void checkAltitude() {System.out.println("检查飞行高度");}
}

3. 实现接口

  • 使用 implements 关键字,必须实现所有抽象方法。
    public class Bird implements Flyable {@Overridepublic void fly() {System.out.println("鸟在飞");}
    }
    

4. 多实现

  • 一个类可以实现多个接口,解决Java单继承的局限性。
    public class SuperDrone implements Flyable, Chargeable {// 实现所有接口的抽象方法
    }
    

5. 使用场景

  • 定义行为:比如 Flyable(可飞)、Swimmable(可游泳)。
  • 解耦代码:通过接口隔离不同模块的依赖。
  • 多态性:通过接口类型引用对象,提高灵活性。

三、抽象类 vs 接口:核心区别

特性抽象类接口
继承/实现单继承(extends)多实现(implements)
方法可以有抽象方法和具体方法Java 8前只有抽象方法,现在可以有默认方法和静态方法
成员变量可以是普通变量默认是 public static final(常量)
构造方法有构造方法无构造方法
设计目的表示“是什么”(is-a关系)表示“能做什么”(has-a能力)
使用场景代码复用 + 部分规范完全规范 + 行为扩展

四、如何选择抽象类 vs 接口?

1. 用抽象类的情况

  • 多个子类有共同的属性和方法需要复用。
  • 需要定义非 public 的成员非静态方法
  • 需要定义构造方法初始化状态。

2. 用接口的情况

  • 需要定义一组行为规范(如不同设备的功能)。
  • 需要实现多继承(一个类实现多个接口)。
  • 希望解耦代码,提高扩展性。

五、实际案例

场景:设计一个游戏中的角色系统

  • 抽象类Character(角色),定义公共属性(如生命值、位置)和方法(如移动)。
  • 接口Attackable(可攻击)、Defendable(可防御),定义不同角色的能力。
// 抽象类:角色基类
public abstract class Character {protected int health;protected int x, y;public Character(int health) {this.health = health;}public abstract void move();  // 抽象方法:移动方式由子类实现public void takeDamage(int damage) {health -= damage;}
}// 接口:可攻击
public interface Attackable {void attack(Character target);
}// 接口:可防御
public interface Defendable {void defend();
}// 具体类:战士
public class Warrior extends Character implements Attackable, Defendable {public Warrior() {super(100);}@Overridepublic void move() {System.out.println("战士步行移动");}@Overridepublic void attack(Character target) {System.out.println("战士用剑攻击");target.takeDamage(20);}@Overridepublic void defend() {System.out.println("战士举盾防御");}
}

六、常见误区

  1. 滥用继承:如果不需要复用代码,优先用接口。
  2. 过度设计:不要为了用抽象类而用,根据需求选择。
  3. 忽略默认方法:Java 8+ 的接口可以通过 default 方法提供默认实现,减少代码重复。

七、总结

  • 抽象类是什么(is-a),适合代码复用 + 部分规范。
  • 接口能做什么(has-a),适合定义行为 + 多态扩展。

掌握两者的区别和适用场景,能帮助你写出更灵活、可维护的代码!如果还有疑问,可以尝试写几个小例子练习一下~ 😊


📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
  • 🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

http://www.dtcms.com/wzjs/482766.html

相关文章:

  • 时时彩网站代理怎么做seo入门培训班
  • 广东深圳网站防恶意点击软件
  • 哪个网站代做ppt便宜企业宣传
  • 免费设计海报的网站广州网站seo地址
  • 网上注册一个公司需要多少钱长春网站优化
  • 形容网站做的好的词语网页设计制作网站模板
  • 西安建设网站电话号码新浪网今日乌鲁木齐新闻
  • 开发一平方多少钱免费优化推广网站的软件
  • 做暧暖ox免费网站优化系统软件
  • 深圳b2b网站全自动引流推广软件免费
  • 收费的网站怎么做的seo快速排名外包
  • 用dw做网站济南seo排行榜
  • wordpress内容隐藏插件赣州seo唐三
  • 铜陵网站建设哪家好正规网络教育培训机构
  • 免费的代码分享网站湖南企业seo优化报价
  • 学做网站视频营销型网站内容
  • 做同城网站最赚钱小吃培训2000元学6项
  • 常州网站建设企业网站网络营销服务外包
  • 屏蔽 wordpress 插件下载网站优化策略分析
  • 网站制作 企业网站建设哪家好关键词怎么选择技巧
  • PHP网站开发程序员招聘无锡seo网络推广
  • 公司装修款账务处理百度seo优化收费标准
  • 做创意网站培训心得体会300字
  • 邢台做网站的公司项目推广方案怎么写
  • 做平面的就一定要做网站吗关键词指数查询
  • 专业网站建设品牌策划搜索引擎优化营销
  • 娄底网站建设开发seo优化排名营销
  • 北京装饰公司设计安卓优化软件
  • wordpress手机电脑端微博搜索引擎优化
  • 个人网站架设投稿网