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

上饶公司网站建设产品介绍网站模板

上饶公司网站建设,产品介绍网站模板,企业关键词大全,做网站做app区别🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 JavaSE核心知识点02面向对象编程02-02&#…

🤟致敬读者

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

📘博主相关

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

文章目录

    • JavaSE核心知识点02面向对象编程02-02(封装、继承、多态)
    • **一、封装(Encapsulation)**
      • **1. 什么是封装?**
      • **2. 如何实现封装?**
      • **3. 代码示例**
      • **4. 封装的好处**
    • **二、继承(Inheritance)**
      • **1. 什么是继承?**
      • **2. 代码示例**
      • **3. 继承的注意事项**
    • **三、多态(Polymorphism)**
      • **1. 什么是多态?**
      • **2. 方法重写(Override)**
      • **3. 向上转型(Upcasting)**
      • **4. 多态的优势**
    • **四、总结与对比**
    • **五、常见问题**
      • **1. 方法重载(Overload) vs 方法重写(Override)**
      • **2. 什么时候用继承?**


📃文章前言

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

JavaSE核心知识点02面向对象编程02-02(封装、继承、多态)

好的!封装、继承和多态是面向对象编程(OOP)的三大核心特性,理解它们对掌握Java至关重要。我会用通俗易懂的方式为你讲解,并结合代码示例帮助你理解。


一、封装(Encapsulation)

1. 什么是封装?

  • 定义:将数据(属性)和操作数据的方法(行为)捆绑在一个类中,并对外隐藏内部实现细节。
  • 核心思想:隐藏对象的属性和实现细节,仅对外公开接口(方法)进行交互。
  • 目的:提高安全性、可维护性、灵活性(例如:避免属性被随意修改)。

2. 如何实现封装?

  • 使用访问修饰符控制属性的可见性:
    • private:属性只能在当前类内访问。
    • public:属性或方法可以被任何类访问。
    • protected:允许子类和同包类访问。
  • 提供公共的getter和setter方法操作属性。

3. 代码示例

public class Student {// 私有属性,外部无法直接访问private String name;private int age;// 公共的getter方法,允许外部获取属性值public String getName() {return name;}// 公共的setter方法,允许外部设置属性值(可添加校验逻辑)public void setName(String name) {if (name != null && !name.isEmpty()) {this.name = name;}}public int getAge() {return age;}public void setAge(int age) {if (age >= 0 && age <= 120) {  // 校验年龄合法性this.age = age;}}
}// 使用示例
public class Main {public static void main(String[] args) {Student stu = new Student();stu.setName("Alice");stu.setAge(20);System.out.println(stu.getName() + ": " + stu.getAge());}
}

4. 封装的好处

  • 安全性:防止属性被非法修改(如年龄为负数)。
  • 灵活性:可以在setter方法中添加校验逻辑,而外部调用者无需关心。
  • 代码维护:修改类的内部实现时,不影响外部代码。

二、继承(Inheritance)

1. 什么是继承?

  • 定义:子类(派生类)继承父类(基类)的属性和方法,并可以扩展自己的功能。
  • 核心思想:代码复用 + 扩展功能。
  • 语法:使用 extends 关键字。

2. 代码示例

// 父类:Animal
class Animal {private String name;public void eat() {System.out.println(name + " is eating.");}public void setName(String name) {this.name = name;}
}// 子类:Dog(继承Animal)
class Dog extends Animal {// 扩展自己的方法public void bark() {System.out.println("Woof! Woof!");}
}// 使用示例
public class Main {public static void main(String[] args) {Dog dog = new Dog();dog.setName("Buddy");dog.eat();   // 调用父类方法dog.bark();  // 调用子类方法}
}

3. 继承的注意事项

  • 单继承:Java中一个类只能直接继承一个父类(不支持多继承)。
  • 构造方法:子类构造方法默认会调用父类的无参构造方法(可通过 super() 显式调用父类构造方法)。
  • 方法重写(Override):子类可以重写父类的方法(后面多态中详细讲解)。

三、多态(Polymorphism)

1. 什么是多态?

  • 定义:同一操作作用于不同对象,可以有不同的行为(例如:同一方法在不同子类中有不同实现)。
  • 两种形式
    1. 编译时多态(静态多态):方法重载(Overload)。
    2. 运行时多态(动态多态):方法重写(Override) + 向上转型(Upcasting)。

2. 方法重写(Override)

  • 子类重新定义父类中已有的方法。
  • 规则
    • 方法名、参数列表必须与父类方法相同。
    • 返回类型可以是父类方法返回类型的子类。
    • 访问权限不能比父类方法更严格。
class Animal {public void makeSound() {System.out.println("Animal makes a sound");}
}class Dog extends Animal {@Override  // 注解:表示重写父类方法public void makeSound() {System.out.println("Dog barks: Woof!");}
}class Cat extends Animal {@Overridepublic void makeSound() {System.out.println("Cat meows: Meow~");}
}

3. 向上转型(Upcasting)

  • 将子类对象赋值给父类引用变量。
  • 目的:通过父类引用调用子类重写的方法,实现多态。
public class Main {public static void main(String[] args) {Animal animal1 = new Dog();  // 向上转型Animal animal2 = new Cat();animal1.makeSound();  // 输出 Dog barks: Woof!animal2.makeSound();  // 输出 Cat meows: Meow~}
}

4. 多态的优势

  • 代码扩展性:新增子类时无需修改原有代码。
  • 统一接口:用父类引用处理不同子类对象。

四、总结与对比

特性核心思想关键实现方式
封装隐藏细节,暴露接口private属性 + getter/setter
继承代码复用,扩展功能extends关键字 + 方法重写
多态同一方法不同表现方法重写 + 向上转型

五、常见问题

1. 方法重载(Overload) vs 方法重写(Override)

  • 重载:同一类中,方法名相同,参数列表不同。
  • 重写:子类中重新实现父类方法。

2. 什么时候用继承?

  • 符合 “is-a” 关系时(例如:Dog is a Animal)。
  • 避免过度继承(优先考虑组合而非继承)。

通过这三个特性,你可以设计出灵活、可维护的Java程序。建议结合代码实践,尝试自己编写一些类,体会它们之间的关系!


📜文末寄语

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

http://www.dtcms.com/a/522384.html

相关文章:

  • 网页设计免费模板代码下载成都seo服务
  • 用.net编写网站网页模板快速建站工具
  • 网站内容建设机制做电商网站的参考书
  • 比较冷门的视频网站做搬运电子商务系统的开发方式
  • 网站新版建设中wordpress安装后只有英文
  • 网页搜索工具广州seo培训
  • 创建网站购买域名要注意什么wordpress主题 响应式
  • 哪里网站建设好网站建设中幻灯片如何加链接
  • 重庆网站建设狐灵传媒怎么用wordpress建微博
  • 万网归一什么时候启动营销型企业网站优化的作用
  • 女人做绿叶网站相亲拉人怎么做免费域名网站
  • 淘宝客导购网站 丢单做企业网站排名优化要多少钱
  • python爬数据做网站网站文字设计
  • 建大型网站费用杭州app软件开发
  • 7有免费建网站网站建设兼职合同
  • 网站如何做页数微信运营有前途吗
  • 做网站运营有前途流量比对网站
  • 深度学习复习汇总
  • 一个网址建多个网站什么网站做招聘比较好
  • 建设云购网站萧山城市建设网站
  • 建设信用卡官网网站页面模板发布别人能看到吗
  • 计算机包含哪些专业seo分析与优化实训心得
  • 闲鱼搭建网站成都小程序开发价格
  • 电子商务网站调研网站风格趋势
  • 神魔网站建设软件技术专业可以从事什么工作
  • 番禺区营销型网站建设电子商务网站建设子项目
  • 网站开发做前端还是后端网站建设需要会什么软件有哪些
  • 网站建设费用价格表惠州住房和城乡建设局网站
  • 全运网站的建设wordpress 米表
  • 微信管理系统在哪里找网络优化工程师是干什么的