JavaSE核心基础-面向对象一 - 类和对象 成员变量与局部变量-知识点

1.面向对象的特点
①.面向对象是一种常见的思想,比较符合人们的思考习惯;
②.面向对象可以将复杂的业务逻辑简单化,增强代码复用性;
③.面向对象具有抽象、封装、继承、多态等特性。

2.面向对象的三大特征
①.封装性
封装是面向对象的核心思想,指将对象的属性和行为封装起来,不需要让外界知道具体的实现细节。
②.继承性
继承性主要描述的是类和类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行拓展。
③.多态性
多态性指的是在程序中允许出现重名的现象,它指在一个类中定义的属性和方法被其他类继承后,它们可以有不同的数据类型或表现不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义。

小结:
1)面向过程:强调步骤
2)面向对象:强调对象
3)面向对象的三大特征:封装,继承,多态

3.类和对象概述
类:
对某类事物的普遍一致性特征、功能的抽象、描述和封装,是构造对象的模版或蓝图,用 Java 编写的代码都会在某些类的内部。类之间主要有:依赖、聚合、继承等关系。

对象:
使用 new 关键字或反射技术创建的某个类的实例。同一个类的所有对象,都具有相似的数据(比如人的年龄、性别)和行为(比如人的吃饭、睡觉),但是每个对象都保存着自己独特的状态,对象状态会随着程序的运行而发生改变,需要注意状态的变化必须通过调用方法来改变,这就是封装的基本原则。

4.类和对象的关系
类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。

5.类的定义格式
语法:
         public class 类名{

         }

6.类的结构:属性和方法
对象同时具有属性和方法两项特性。

对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相承,不能分割。

属性:对象具有的各种特征。属性又叫类的成员变量,每个对象的每个属性都拥有特定值,例如:张三和李明的年龄、姓名不一样。

方法:对象执行的操作。

7.对象的创建与使用
创建对象的语法:
类名   对象名  =  new 类名();

使用对象访问属性和方法:
访问属性:对象名.属性名 = 值;
访问方法:对象名.方法名();

成员变量的默认值:
                              数据类型                                            默认值   
   基本类型            整数(byte,short,int,long)             0       
                             浮点数(float,double)                       0.0 
                             字符(char)                                      '\u0000'
                             布尔(boolean)                                   false
   引用类型            数组,类,接口                                     null

8.匿名对象的使用
匿名对象是没有名字的实体,也就是该实体没有对应的变量名引用。
匿名对象的特征:
①.创建的匿名类的对象只能够调用一次。
②.匿名对象只在堆内存中开辟空间,而不存在栈内存的引用。
③.每次创建匿名对象都是不同的对象 。

小结:
1)类和对象关系:类是对象的抽象,对象是类的实例。
2)类是由一组属性和方法组成。
3)调用属性:对象名.属性。
4)调用方法:对象名.方法名()。
5)匿名对象只能使用一次。

9.成员变量与局部变量的区别
①.定义的位置不一样
    成员变量在类体内部,方法体外面。
    局部变量在方法体内部。
②.作用范围不一样
    成员变量的作用范围是整个类。
    局部变量的作用范围是方法体内,或者是方法体中的某个结构内。
③.默认值不一样
    成员变量不赋值的时候系统会分配默认值。
    局部变量没有默认值,未经赋值的局部变量不能直接使用。     
④.内存的位置不一样
    成员变量:位于堆内存。
    局部变量:位于栈内存。
⑤.生命周期不一样
    成员变量:随着对象创建而诞生,随着回收而消亡 。
    局部变量:随着方法进栈而诞生,出栈而消亡。

10.对象数组的概念
与普通数组使用基本相同,不同的是,在对象数组中,不仅仅数组定义的时候需要New ,而且在数组成员类定义添加的时候也需要New出一个对象。
对象数组既有对象的特点又有数组的特点。

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

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

相关文章

【MIdjourne基础】 |MIdjourney基础参数全解析,各类辅助知识

文章目录 1 参数列表1.1 基础参数列表 2 基础参数详解2.1 模型版本选择2.2 模型出图模式选择2.3 基础生图参数2.3.1 --ar2.3.2 --stylize2.3.3 --no2.3.4 --chaos2.3.5 --quality2.3.6 --stop2.3.7 --hd2.3.8 --repeat 1 参数列表 1.1 基础参数列表 模型版本选择 目标参数作…

Linux delay相关函数实现

1、udelay 与 sleep 相关函数相比,delay 的最大区别是忙等、一直占用 CPU,而 sleep 会让出 CPU 控制权。 mdelay、ndelay都是基于 udelay 来实现的。在 include/linux/delay.h 中,如下: /** Using udelay() for intervals grea…

杂项基础知识

换行与回车 ASCII中的CR与LF CR(Carriage Return),回车字符\r,控制字符,将光标移动到本行行首 LF(Line Feed),换行字符\n,控制字符,将光标下移一行 ASCII…

开源项目对于新用户和初学者适合哪些工作

目录 一、阅读和理解文档 二、报告问题 三、测试和验证修复 四、编写和更新文档 五、简单的代码更改和修复 六、参与社区讨论 开源项目对于新用户和初学者来说,提供了宝贵的学习和实践机会。以下是一些适合新用户和初学者参与的工作: 一、阅读和理…

【2024美赛实战】预测模型:灰色预测模型GM(1,1)

当题目数据少且无明显规律的时候,且要求进行短期预测的时候,或许可以考虑另一种预测方法——灰色预测模型GM(1,1),虽然是个比较基础的预测模型,但在美赛O奖论文中登场次数也是比较多的。 一 预测问题的一般步骤 二 灰色预测模型…

Redis客户端之Redisson(三)Redisson分布式锁

一、背景: 高效的分布式锁设计应该包含以下几个要点: 1、互斥: 在分布式高并发的条件下,我们最需要保证,同一时刻只能有一个线程获得锁,这是最基本的一点 2、防止死锁: 在分布式高并发的条…

Cesium材质特效

文章目录 0.引言1.视频材质2.分辨率尺度3.云4.雾5.动态水面6.雷达扫描7.流动线8.电子围栏9.粒子烟花10.粒子火焰11.粒子天气 0.引言 现有的gis开发方向较流行的是webgis开发,其中Cesium是一款开源的WebGIS库,主要用于实时地球和空间数据的可视化和分析。…

STM32 SDIO接口配置与使用方法详解

STM32的SDIO(Secure Digital Input Output)接口是一种用于SD卡和MMC卡的高速数据传输接口,通过SDIO接口可以实现对SD卡和MMC卡的读写操作。在本文中,我们将详细介绍STM32 SDIO接口的配置和使用方法,并附上相关的代码示…

动态规划算法题刷题笔记

首先看动态规划的三要素:重叠子问题、最优子结构和状态转移方程。 重叠子问题:存在大量的重复计算 最优子结构: 状态转移方程:当前状态转移成以前的状态 动态规划的解题步骤主要有: 确定 dp 数组以及下标的含义状…

苍穹外卖-前端部分(持续更新中)

d 第二种:cmd中输入 vue ui进入图形化界面选择npm,vue2进行创建 先将创建的Vue框架导入Vsocde开发工具 然后ctrshiftp 输入npm 点击serve将项目启动 下这种写法跨域会报错: 解决方法: \ 注意 这种用法:(不是单引号…

Android Handler完全解读

一,概述 Handler在Android中比较基础,本文笔者将对此机制做一个完全解读。读者可简单参考上述类图与时序图,便于后续理解。 二,源码解读 1,主线程伊始 众所周知,通过Zygote的fork方式,新创建…

远程方法调用Remote Method Invocation

网络编程包含不同的编程范式,主要有以下两种: 1. 套接字编程(Sockets Programming) 这种方式首先需要设计一个协议。协议是指在网络通信中,客户端和服务器如何进行数据交换的规则和标准。 在确定了协议之后&a…

SSH客户端 Termius for Mac 中文激活版

Termius for Mac是一款强大的终端和SSH客户端,为开发人员、系统管理员和网络工程师提供了全面的远程访问和管理工具。 软件下载:Termius for Mac 中文激活版下载 无论您是在使用Mac、Windows还是Linux系统,Termius都能提供出色的功能和用户体…

静态代理IP该如何助力Facebook多账号注册运营?

在Facebook运营中,充分利用静态代理IP是多账号运营的关键一环。通过合理运用静态代理IP,不仅可以提高账号安全性,还能有效应对Facebook的算法和限制。以下是这些关键点,可以帮助你了解如何运用静态代理IP进行Facebook多账号运营&a…

基于springboo校园社团信息管理系统

摘要 随着高校规模的扩大和学生社团活动的日益丰富多彩,校园社团信息管理成为一个备受关注的问题。为了更有效地组织、管理和推动校园社团的发展,本文设计并实现了一套基于Spring Boot的校园社团信息管理系统。本系统以实现社团信息的集中管理和高效运营…

Android studio布局详解

文章目录 一、Android studio布局详解二、Android studio六大布局案例三、优缺点四、热门文章 一、Android studio布局详解 Android Studio是一种用于开发Android应用程序的集成开发环境(IDE),用于设计和编辑Android应用程序的用户界面布局。在Android …

使用dockers-compose搭建开源监控和可视化工具

简介 Prometheus 和 Grafana 是两个常用的开源监控和可视化工具。 Prometheus 是一个用于存储和查询时间序列数据的系统。它提供了用于监控和报警的数据收集、存储、查询和图形化展示能力。Prometheus 使用拉模型(pull model),通过 HTTP 协议…

工具学习——使用OpenSmile提取音频特征

文章目录 OpenSmile介绍下载和安装提取特征格式转换特征提取尝试一正常使用手段常见的特征 使用Gnuplot可视化特征安装使用 总结 OpenSmile介绍 openSMILE(open-source Speech and Music Interpretation by Large-space Extraction)是一个开源工具包&am…

使用vue-print-nb打印el-table问题总结

css样式添加媒体查询 media print {} 样式只有在打印的时候才会生效 1、解决单选框复选框打印时选中消失的问题 media print {// 解决单选框复选框打印时选中消失的问题::v-deep .el-radio__input,::v-deep .el-checkbox__input {-webkit-print-color-adjust: exact;-moz-pri…

直流电机驱动(马达)

文章目录 一、介绍直流电机介绍电机驱动电路大功率器件直接驱动H桥驱动集成电路线路图 PWM介绍产生PWM的方法 二、实例1.呼吸灯案例2.直流电机调速 一、介绍直流电机 介绍 电机驱动电路 点击的负载较大,直接接在单片机I/O口上无法驱动,所以需要驱动电路…