Java面向对象详解(上)

news2024/12/24 8:41:23

Java面向对象详解(上)

    • 🪅面向对象与面向过程的区分
      • ✨面向过程:
      • ✨面向对象:
    • 🪅类是什么?
    • 🪅对象是什么?
    • 🪅类的结构
    • 🪅类中方法:
      • ✨成员方法与构造方法:
      • 🪧方法的重载(覆盖)与重写:
        • 🪀重载:
        • 🪀重写(覆盖):
    • 🪅变量的划分:
      • 🪀按类型划分:
      • 🪀按位置划分:局部变量和成员变量
        • 🎀局部变量的介绍及生命周期
        • 🎀成员变量的介绍及生命周期
    • 🪅类信息的存储:

🪅面向对象与面向过程的区分

✨面向过程:

面向过程的思想是为了解决一个问题。其实就是遇到了一个大问题,一步步实现(利用函数)解决问题的方法,最终解决问题。
(例子:🍆做饭——>1.烧水2.切菜3.炒菜······实现一系列方法来解决这个大问题)

✨面向对象:

面向对象的思想是为了解决一类问题。(以便降低代码重复性,增强代码复用性)。

面向对象其实就是在面向过程的基础上进行了升级。它们是相辅相成的。首先对整体进行宏观分类提取公共属性,再具体实现其类内部的属性方法(具体实现还是落实到面向过程的思想)

🪅类是什么?

类是一个抽象的概念,它相当于一个模板(设计图纸)。(以下面汽车为例:)它具有汽车🚕公共的属性(比如:都有四个轮子,都会跑,都会停车....),如果我们把这些属性放到一个类里面,每次设计创造汽车的时候就不用重新定义其公共属性啦,增强了代码复用性(减少了代码的重复)。

在这里插入图片描述

🪅对象是什么?

在这里插入图片描述

对象就是生活中实实在在的实例个体,它们看得见摸得着,就是图片中按照图纸设计出来的每一辆汽车🚕。

🪅类的结构

✨成员变量
✨方法
✨构造方法
✨内部类
✨块

🪅类中方法:

✨成员方法与构造方法:

l✨ 成员方法:成员方法是定义在类中。
语法格式:
修饰符 返回值类型 方法名( 参数列表) {
方法体语句;
[return 返回值]
}
✨ 构造方法:用来初始化对象的方法
构造方法名与类名相同,且没有返回值,且不需要使用void修饰。
• 作用:在构造方法中为创建的对象初始化赋值,
• 在创建一个对象的时候,至少要调用一个构造方法。
(每个类都有构造方法。如果没有显式地为类定义构造方法,Java将会为该类提供一个默认构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效,除非显式的声明出来)

🪧方法的重载(覆盖)与重写:

🪀重载:

在java中允许有方法名相同的方法,这个现象叫做方法的重载
重载的区分
🎀方法所传的(形参)参数类型不同
在这里插入图片描述
🎀方法所传的(形参)参数数量不同
在这里插入图片描述

🎀方法所传的(形参)参数数量相同时,形参的顺序不同

在这里插入图片描述

🪀重写(覆盖):

起因1:子类继承了父类的方法,但是如果其中父类的方法太简略了,无法让子类更加适合的使用,就需要对父类方法进行重写。
起因2:如果父类为抽象方法,则必须在子类中重写方法才能调用。
起因3:如果是接口,则实现类(也可以理解为‘不规范的子类’)需要重写接口中的抽象方法。
在这里插入图片描述

🪅变量的划分:

🪀按类型划分:

作者之前总结的变量划分详细内容

🪀按位置划分:局部变量和成员变量

🎀局部变量的介绍及生命周期

局部变量在方法中声明定义,使用前必须初始化 生命周期:从方法体声明开始,至方法结束后(不能出花括号{})局部变量自动销毁

🎀成员变量的介绍及生命周期

成员变量在类体中声明定义,使用前不进行初始化时有默认值,作用域为整个类体 (byte short int long默认值为 0) (double float 默认值为0.0) (boolean 默认值为flase)
(char,引用数据类型 默认值为 null)
-生命周期:从创建对象开始,结束于对象销毁

🪅类信息的存储:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/21115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实战讲解SpringBoot启动时自动加载数据库数据到内存:通过回调方法自动运行Bean(图+文+源码)

1 缘起 在补充SpringCloud网关(Gateway)配置白名单相关知识过程中, 有两种实现方案: (1)SpringBoot的启动配置文件application.yml进行配置; (2)自动加载MySQL数据库中的…

【人工智能】Mindspore框架中保存加载模型

前言 MindSpore着重提升易用性并降低AI开发者的开发门槛,MindSpore原生适应每个场景包括端、边缘和云,并能够在按需协同的基础上,通过实现AI算法即代码,使开发态变得更加友好,显著减少模型开发时间,降低模…

深度学习在图像处理中的应用学习笔记

这篇学习笔记用于记录本人在读研期间的学习内容 在刚入学不久,发现一个B站up主对这方面进行了一系列的整理总结,并上传了代码,并且非常成体系,因此本人打算跟着这位up主的步骤,对这方面进行学习并且做一个记录&#xf…

Vue安装并使用axios发送请求

前言 本文主要介绍的是使用在Vue项目中安装并使用axios发送请求 axios介绍 axios是一种Web数据交互方式 它是一个基于promise的网络请求库,作用于node.js和浏览器中,它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中) 本质是对原生XHRX…

NAND Flash原理

Flash 简介 Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。关于什么是非易失性/易失性,从名字中就可以看出,非易失性就是不容易丢失&…

BGP→→

BGP-4 提供了一套新的机制以支持无类域间路由。这些机制包括支持网络前缀的通告、取消 BGP 网络中 “ 类 ” 的概念。 BGP-4 也引入机制支持路由聚合,包括 AS 路径的集合。 特点 BGP属于外部或域间路由协议。BGP的主要目标是为处于不同AS中的路由器之间进行路由信…

Spring Cloud Config 配置中心

最简单的配置中心,就是启动一个服务作为服务方,之后各个需要获取配置的服务作为客户端来这个服务方获取配置。 Spring Cloud Config,可以用 git ,还可以用数据库、svn、本地文件等作为存储。 1. Config Server 引入 config-ser…

Day08--自定义组件的properties属性

提纲挈领: 1.properties属性 我的操作: 1》 2》 3》输出看看效果是不是真的有接收到。 ********************************* ********************************* ********************************* ********************************* **************…

Spring 源码阅读

1. beanFactory The root interface for accessing a Spring bean container. 2. BeanFactoryPostProcessor 对bean定义进行后置处理,比如jdbc类读取配置的密码,用户名等。 3.BeanPostProcessor public interface BeanPostProcessor {Object postProce…

ctfshow--RCE极限挑战

本周ctfshow的挑战注重点为RCE,主要利用是:自增绕过RCE RCE挑战1 属于简单类型 源码 error_reporting(0); highlight_file(__FILE__); $code $_POST[code]; $code str_replace("(","括号",$code); $code str_replace(".&q…

Arcgis使用教程(十一)ARCGIS地图制图之经纬网格设置参数详解

Arcgis地图制图中,经纬网格的添加详细参见: Arcgis使用教程(十)ARCGIS地图制图之经纬网格添加_空中旋转篮球的博客-CSDN博客 1.加载数据 在Arcmap中加载中国矢量图层数据(中国省级行政区图,国界线两个图层…

善于使用二阶思维

事情往往不是你想象的那样,有时候,看似解决了问题,却在不经意间,引发了更严重的后果。帮助我们思考、决策、解决问题的最有效方法是,运用二阶思维。 什么是二阶思维? 一阶思维是单纯而肤浅的,几…

34.nacos客户端读取共享配置文件实例(springcloud)

其他配置环境和上文相同,本实例不再演示 https://blog.csdn.net/weixin_59334478/article/details/127953755?spm1001.2014.3001.5501https://blog.csdn.net/weixin_59334478/article/details/127953755?spm1001.2014.3001.55011.新建共享配置文件,使…

高NA (数值孔径)物镜的分析

高NA(数值孔径)物镜常用于光学显微及光刻,并已广泛在其他应用中得以使用。众所周知,在高数值孔径物镜的使用中,电磁场矢量特性的影响是不可忽略的。一个众所周知的例子就是由高NA(数值孔径)物镜聚焦线性偏振圆光束时,焦斑的不对称…

过控Matlab-实验法建立被控过程的数学模型(一)

太原理工大学过程控制实验之实验法建立被控过程的数学模型 过控Matlab实验法建立被控过程的数学模型实验内容1.利用MATLAB根据作图法建立系统的一阶惯性环节加纯迟延的近似数学模型。2.利用MATLAB根据计算法建立系统的一阶惯性环节加纯迟延的近似数学模型。3.利用MATLAB根据计算…

[附源码]计算机毕业设计JAVA基于JSP社区生鲜配送系统

[附源码]计算机毕业设计JAVA基于JSP社区生鲜配送系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM …

[附源码]java毕业设计网上手机商城

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

驱动开发基础

1、Hello驱动 我们应用程序使用open函数的时候,会调用内核的sys_open函数,然后接下来 1、然后打开普通文件的话会使用文件系统操作硬件, 2、要是打开驱动文件,会使用驱动程序对应的drv_open函数 怎么写驱动程序 我们驱动对应的d…

了解 Oracle 中的视图

一、概念 视图是基于一个或者多个表上的预定义查询,这些表称为基表,从视图中查询数据的方法与从基表中查询数据的方法相同。视图是一个查看数据的窗口,是查询语句模板,视图本身没有数据,在数据库中只保存了视图的定义…

[附源码]java毕业设计图书管理系统论文

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…