java基础之面向对象

简介: 博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。
博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。
    • -

一、概念

一、面向对象技术

  面向对象技术是当前计算机技术发展的一个突破,面向对象程序设计是Java语言中最重要的部分,因为任何一个Java程序都是由多个类组成的。
  Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。

二、面向对象编程

  面向对象编程,是一种通过对象的方式,把现实世界映射到计算机模型的一种编程方法。

三、对象

  对象是类的一个实例,有状态和行为。例如,一位老师是一个对象,它的状态有:性别、名字、年龄;行为有:讲课、批作业、吃等。

四、类

  类是一个模板,它描述一类对象的行为和状态。
  例如,java中定义一个类可以这样写,我来定义一个teacher类。

class Teacher {
    public String name;
    public int age;
}
    • -

二、java对象特点

  • 对象具有属性和行为。
  • 对象具有变化的状态。
  • 对象具有唯一性。
  • 对象都是某个类别的实例。
  • 一切皆为对象,真实世界中的所有事物都可以视为对象。

      • -

三、面向对象的特点

一、继承性

  继承是一种由已有的类创建新类的机制,利用继承,可以创建一个具有特殊属性的新类。新类继承了已有类的状态和行为,并可以根据需要增加自己的状态和行为。由继承得到的类称为子类,被继承的类称为父类。Java语言规定,子类只能有一个父类,即不允许多重继承。
  继承性是软件重用的一种形式,也是自动实现类中方法和数据共享的机制。如果没有继承,一个系统中的类是封闭的、相互无关的,可能用多个类来实现相似的功能,这就造成了数据和方法的大量重复。引入继承机制,多个类就可以相互关联,新的类由已有的类创建,通过保留父类的属性和行为,并为新类增加新的属性和行为,从而提高了软件的可重用性,缩短了软件的开发时间。
  举个例子,假如我们需要一个java老师类,一个python老师类,没有继承的情况下我们需要这样写,代码可重用性很低,再来个大数据老师,我又需要定义一个大数据老师类了。
  java老师类:

class JavaTeacher {
    public String name;
    public int age;
}

  python老师类:

class PythonTeacher {
    public String name;
    public int age;
}

  这张图说明了没有继承时类的关系情况,可以看到代码比较臃肿,每次扩展类都需要重复写相同的属性和方法。
在这里插入图片描述
  java老师类和python老师类中的许多属性和方法相同,这些相同的属性和方法可以提取出来放在一个父类中,这个父类用于被java老师类和python老师类继承。

class Teacher {
    public String name;
    public int age;
}

  程序中的继承性是指子类拥有父类的全部特征和行为,这是类之间的一种关系。Java 只支持单继承。
  有了继承性,我们只需要继承teacher类即可,属性可以直接继承父类,如下。

class JavaTeacher extends Teacher {
  
}
class PythonTeacher extends Teacher {
  
}

  如图,有了继承代码简洁多了,共有的属性和方法都可以放到父类里面,子类继承即可。
在这里插入图片描述

    • -

二 、封装性

  在面向对象编程中,封装(encapsulation)是将对象运行所需的资源封装在程序对象中——基本上,是方法和数据。对象是“公布其接口”。其他附加到这些接口上的对象不需要关心对象实现的方法即可使用这个对象。
  即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。
  Java 语言的基本封装单位是类。由于类的用途是封装复杂性,所以类的内部有隐藏实现复杂性的机制。Java 提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件东西,私有的方法数据只能通过该类的成员代码来访问。
  总之,实操起来就是控制属性和方法访问级别。

1、访问级别

在这里插入图片描述

2、封装优点
  1. 良好的封装能够减少耦合。
  2. 类内部的结构可以自由修改。
  3. 可以对成员变量进行更精确的控制。
  4. 隐藏信息,实现细节。
    • -

三 、多态性

  多态是指允许不同类的对象对同一函数调用做出响应。即同一函数调用可以根据发送对象的不同而采用多种不同的行为方式。
  多态就是同一个接口,使用不同的实例而执行不同操作。
  对象的多态性主要分为两种类型,即向上转型和向下转型。

1、向上转型

  向上转型是指用子类对象实例化父类。对象的向上转型是自动完成的,格式如下。

父类 父类对象=子类实例;
2、向下转型

  向下转型是指用父类对象实例化子类。向下转型时,必须明确指明要转型的子类类型,具体格式如下。

子类 子类对象=(子类)父类实例;
    • -

四、总结

   以上就是就是关于java基础之面向对象相关知识,重点介绍了java对象特点,继承性,封装性,多态性相关概念,可以参考一下,觉得不错的话,欢迎点赞、收藏、在看,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。

目录
相关文章
|
18天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
12 2
|
2月前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
2月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
35 4
|
2月前
|
Java
接口和抽象类【Java面向对象知识回顾②】
本文讨论了Java中抽象类和接口的概念与区别。抽象类是不能被实例化的类,可以包含抽象和非抽象方法,常用作其他类的基类。接口是一种纯抽象类型,只包含抽象方法和常量,不能被实例化,且实现接口的类必须实现接口中定义的所有方法。文章还比较了抽象类和接口在实现方式、方法类型、成员变量、构造方法和访问修饰符等方面的不同,并探讨了它们的使用场景。
接口和抽象类【Java面向对象知识回顾②】
|
1月前
|
存储 Java 程序员
Java基础-面向对象
Java基础-面向对象
16 0
|
2月前
|
安全 Java Go
面向对象程序设计语言:Java
Java语言语法和C语言和C++语言很接近,很容易学习和使用,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的特性,Java语言不使用指针,而是引用,并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧
56 2
|
3月前
|
Java 数据处理 开发者
【Java基础面试十二】、说一说你对面向对象的理解
这篇文章阐述了面向对象是一种以类和对象为基础,通过封装、继承和多态等概念来模拟现实世界中的事物及其相互关系的程序设计方法,它强调以事物为中心进行思考和系统构造,与结构化程序设计相比,更符合人类的自然思维方式。
【Java基础面试十二】、说一说你对面向对象的理解
|
3月前
|
Java
【Java基础面试十三】、面向对象的三大特征是什么?
这篇文章介绍了面向对象程序设计的三大基本特征:封装、继承和多态,其中封装隐藏对象实现细节,继承实现软件复用,多态允许子类对象表现出不同的行为特征。
【Java基础面试十三】、面向对象的三大特征是什么?
|
2月前
|
Java 开发者
Java 面向对象
Java 是一种面向对象的编程语言,通过对象与类的概念组织代码和数据。面向对象编程的核心包括类、对象、继承、多态、封装和抽象。类是对象的蓝图,定义了属性和行为;对象则是类的实例。继承允许子类继承父类的属性和方法,增强代码复用性;多态则支持通过相同接口调用不同类型对象的行为,包括方法重载和重写。封装通过公共方法隐藏对象细节,提高安全性;抽象则对对象特征进行提炼,通过抽象类和接口实现。理解这些概念有助于设计高效、可维护的 Java 应用程序。
|
3月前
|
Java 开发者 C++