首页 > 编程语言 >Java面向对象编程概念

Java面向对象编程概念

时间:2024-05-06 14:23:49浏览次数:29  
标签:Java 面向对象编程 对象 概念 Animal 方法 public name

面向对象编程(OOP)概念,如类、对象、继承、封装、多态

概念:面向对象编程(Object-Oriented Programming,简称OOP)是一种程序设计范型或编程范式。这种范式使用“对象”来设计应用程序和系统的各个部分。在面向对象编程中,万物皆对象,程序被视作一系列对象的集合,这些对象通过消息传递来交互。对象包含数据和操作这些数据的方法(函数),它们被封装在一起,作为一个整体被外部世界所使用。

  1. 类(Class)
    类是一个模板,它描述了一组具有相同属性和方法的对象的集合。换句话说,类定义了对象应该有的特征(属性)和行为(方法)。在 Java 中,类使用关键字 class 声明。
    例:
    public class Animal {
    // 属性(字段)
    String name;
    int age;

    // 方法
    void eat() {
    System.out.println("Animal is eating");
    }
    }

  2. 对象(Object)
    对象是类的实例。在 Java 中,我们使用 new 关键字来创建对象。每个对象都具有类所定义的属性和方法。
    例:
    Animal dog = new Animal(); // 创建一个 Animal 类的对象 dog
    dog.name = "Buddy"; // 访问并设置对象的属性
    dog.eat(); // 调用对象的方法

  3. 继承(Inheritance)
    继承是面向对象编程中的一个重要概念,它允许我们定义一个类(称为子类或派生类)继承另一个类(称为父类或基类)的特征和行为。子类可以继承父类的属性和方法,也可以添加自己的属性和方法。
    例:
    public class Dog extends Animal { // Dog 类继承自 Animal 类
    void bark() {
    System.out.println("Woof!");
    }
    }

  4. 封装(Encapsulation)
    封装是隐藏对象的属性和实现细节,仅对外提供公共访问方式。封装通常通过提供 getter 和 setter 方法来实现对属性的访问和修改。封装的主要目的是增强代码的安全性和可维护性。
    例:
    public class Animal {
    private String name; // 私有属性,只能在本类中被访问

    // getter 方法
    public String getName() {
    return name;
    }

    // setter 方法
    public void setName(String name) {
    this.name = name;
    }
    }

  5. 多态(Polymorphism)
    多态是面向对象编程的三大特性之一,它允许不同的对象对同一消息做出不同的响应。在 Java 中,多态主要有两种形式:方法的重写(Override)和方法的重载(Overload)。
    方法的重写:子类可以重写父类的方法,这样当使用子类对象调用该方法时,将执行子类中的版本,而不是父类中的版本。这是运行时多态的体现。
    方法的重载:在同一个类中,可以有多个同名但参数列表不同的方法。当调用方法时,将根据提供的参数列表来确定执行哪个版本。这是编译时多态的体现。
    例:
    public class Animal {
    void makeSound() {
    System.out.println("Animal makes a sound");
    }
    }

public class Dog extends Animal {
// 重写父类方法
@Override
void makeSound() {
System.out.println("Woof!");
}
}
在上面的例子中,当我们创建一个 Dog 对象并调用其 makeSound() 方法时,将执行 Dog 类中的版本,而不是 Animal 类中的版本。

标签:Java,面向对象编程,对象,概念,Animal,方法,public,name
From: https://www.cnblogs.com/yzw20231113/p/18174948

相关文章

  • JavaGUI - [03] LayoutManager布局管理器
    Component中有一个方法setBounds()可以设置当前容器的位置和大小,但如果我们手动为组件设置位置和大小的话,就会造成程序的不通用性。LayoutManager布局管理器可以根据运行平台来自动调整组件大小,程序员不用再手动设置组件的大小和位置,只需要为容器选择合适的布局管理器即可。 ......
  • H.264学习笔记——基本概念
    1.基本概念frame:帧,相当于一幅图像,包含一个亮度矩阵和两个色度矩阵。field:场,一帧图像,通过隔行扫描得到奇偶两场,分别称为顶场和底场或奇场和偶场。macroblock/MB:宏块,H.264中处理(预测、变换、量化)的基本单元,大小16*16个像素。slicegroup:条带组,每一帧/场图像中,按照光栅扫面的顺......
  • Java中的自增自减
    在Java中,自增(++)和自减(--)是两种特殊的运算符,用于在表达式的计算过程中增加或减少变量的值。它们有两种形式:前缀形式(++variable或--variable)和后缀形式(variable++或variable--)。这两种形式在表达式中的行为有所不同。前缀形式++variable:先增加变量的值,然后返回增加后的值。--......
  • H.264学习笔记——相关概念
    基本概念frame:帧,相当于一幅图像,包含一个亮度矩阵和两个色度矩阵。field:场,一帧图像,通过隔行扫描得到奇偶两场,分别称为顶场和底场或奇场和偶场。macroblock/MB:宏块,H.264中处理(预测、变换、量化)的基本单元,大小16*16个像素。slicegroup:条带组,每一帧/场图像中,按照光栅扫面的顺序......
  • JavaScript-DOM简介
    JavaScript-DOM简介之前我们说过JavaScript有三部分组成ECMAscript,BOM,DOM,之前我们都在了解JavaScript的语法即ECMAScript,今天我们开始了解DOM(文档对象模型(DocumentobjectModel),操作网页上的元素的API)什么是DOMDOM:DocumentObjectModel,文档对象模型。DOM为文档提供了结......
  • Java基本数据类型
    byte:字节型,8位二进制数,有符号,取值范围:-128到127。默认值:0示例:bytemyByte=10;空间大小:1字节(byte),即8位(bit)。short:短整型,16位二进制数,有符号,取值范围:-32,768到32,767。默认值:0示例:shortmyShort=2000;空间大小:2字节(byte),即16位(bit)int:整型,32位二进制数,有符号,取值范......
  • 在Linux中,Docker和容器虚拟概念是什么?
    Docker是一种开源的容器化平台,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后在任何支持Docker的系统上运行。容器虚拟化是一种与完全虚拟化(如KVM或Xen)不同的虚拟化技术,它提供了操作系统级别的虚拟化。1.容器虚拟化概念容器是一种轻量级、可移植的软件单元......
  • JavaScript正则表达式
    JavaScript正则表达式创建正则表达式使用构造函数var变量=newRegExp("正则表达式");//注意,参数是字符串var变量=newRegExp("正则表达式","匹配模式");//注意,两个参数都是字符串RegExp的意思是Regularexpression。使用typeof检查正则对象,会返回object。......
  • java NIO介绍
    非阻塞网络调用可以使得我们可以不必等待一个操作的完成。NIO选择器可以使得我们使用较少的线程监听许多连接上的事件,减少了内存管理和cpu上下文切换所带来的开销。IO多路服用包括selector、poll、epoll、kqueue等1、select使用数组保存poll中注册的事件,单个进程能够监听......
  • 第一章 Java基础语法
    1-1环境搭建+入门   ......