【JAVA】类与对象的重点解析

在这里插入图片描述


个人主页:【😊个人主页】
系列专栏:【❤️初识JAVA】


文章目录

  • 前言
  • 类与对象的关系
  • JAVA源文件有关类的重要事项
  • static关键字


前言

Java是一种面向对象编程语言,OOP是Java最重要的概念之一。学习OOP时,学生必须理解面向对象编程的一般概念,例如封装、继承和多态性。了解这些概念是不够的,还需要学习如何在Java中实现OOP,例如类、对象、接口、抽象类等等。虽然在之前的章节中我们已经粗略的介绍过有关类与对象的概念,但这些知识并不全面与详细,今天让我们更加深入的来了解有关类与对象的内容。
在这里插入图片描述

类与对象的关系

在此之前我们已经介绍过类与对象的概念,这里就不再过多介绍有疑问的同学可以阅读之前的文章。让我们进入正题:
类是对象的抽象,而对象是类的具体实例
类是面向对象程序设计的基本概念,它是一组相关的属性和方法的定义。对象则是类的实例,具有类中定义的属性和方法。换句话说,类是对象的模板或者说蓝图,对象是类的实例化结果。

在程序中,我们通过定义类来表示一个概念或者实体,比如说动物、汽车等等。而通过实例化对象来具体描述这个概念或者实体的具体属性和行为。比如说,我们定义了一个动物类,然后通过实例化对象来表示不同种类的动物,比如猫、狗等等。

类与对象之间的关系可以用类似于模型和实例的比喻来理解。类是一个抽象的模型,它定义了一些变量、属性和方法等。而对象是实际存在的对象,它是基于类创建出来的,具有类中定义的属性和方法。类是对象的模板,而对象则是类的实例化结果。在程序运行时,我们使用对象来执行相关的操作和操作数据。
在这里插入图片描述

JAVA源文件有关类的重要事项

  • 一个源文件中只能有一个 public 类
  • 一个源文件可以有多个非 public 类
  • 源文件的名称应该和 public 类的类名保持一致。例如:源文件中 public 类的类名是 Employee,那么源文件应该命名为Employee.java。
  • 如果一个类定义在某个包中,那么 package 语句应该在源文件的首行。
  • 如果源文件包含 import 语句,那么应该放在 package 语句和类定义之间。如果没有 package 语句,那么 import 语句应该在源文件中最前面。
  • import 语句和 package 语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。

类有若干种访问级别,并且类也分不同的类型:抽象类和 final 类等。这些将在访问控制章节介绍。

除了上面提到的几种类型,Java 还有一些特殊的类,如:内部类、匿名类。

static关键字

在这里我要重点提一下关于static关键字,我们通常通过以下代码定义main方法

public static void main(String[] args)

但是大家了解这里为什么要使用static关键字呢?
Java中的static关键字可以用于变量、方法、代码块和内部类中。它的主要作用是为了方便地访问和共享变量和方法。
变量:被声明为static的变量属于类,而不属于实例。因此,多个实例共享同一个类变量,并且可以通过类名来访问它。

  • 方法:被声明为static的方法属于类,不属于实例。因此,它们可以直接通过类名来调用,而不需要创建实例。
  • 代码块:也称静态初始化块,它在类加载时执行,仅执行一次。主要用于初始化类变量和执行一些特殊的操作。
  • 内部类:内部类可以被声明为static,这样它就可以直接访问外部类的静态成员,而不需要创建外部类的实例。

总之,static关键字可以提高代码的重用性可读性,但也要注意它可能会导致线程安全问题和类加载的性能问题。
这样我们就能回答刚才的问题:在main方法中,使用static标识符的意义在于,让Java虚拟机能够在执行应用程序的时候找到该方法,因为Java虚拟机只有在找到静态方法时才能执行该应用程序。因此,main方法需要使用static修饰符。此外,在main方法中,使用static标识符的意义在于,让Java虚拟机能够在执行应用程序的时候找到该方法,因为Java虚拟机只有在找到静态方法时才能执行该应用程序。因此,main方法需要使用static修饰符。

在这里插入图片描述

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

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

相关文章

笔记软件Notability mac中文版软件功能

Notability mac是一款帮助用户备注文件的得力工具,Notability Mac版可用于注释文稿、草拟想法、录制演讲、记录备注等。它将键入、手写、录音和照片结合在一起,便于您根据需要创建相应的备注。 Mac Notability mac中文版软件功能 将手写,照片…

【git】git拉取代码报错,fatal: refusing to merge unrelated histories问题解决

大家好,我是好学的小师弟。今天准备将之前写的代码,拉到新的工程文件夹(仓库)下面,用了pull命令,结果报错了,报错截图如下 $ git pull https://gitee.com/* #仓库地址 fatal: refusing to merge unrelated histor…

前端有关的算法

1、最近距离排序 let me {name: 王强, home: 20}, let students [{name: 小明, home: 18},{name: 张三, home: 24},{name: 李四, home: 30},{name: 王五, home: 16} ] let resstudents.sort((a,b)>Math.abs(a.home-me.home)-Math.abs(b.home-me.home)) [{"name"…

智能运维第一步:HDD磁盘故障预测

当今数字化时代,信息技术扮演着企业和组织运营的关键角色。然而,随着IT环境不断复杂化和数据量激增,传统的运维管理方法已经无法满足日益增长的需求。为应对这一挑战,智能运维(Artificial intelligence for IT operati…

UE5实现相机水平矫正

UE5实现相机水平矫正 思路,用HIT获得基于相机视角的 离散采样点,然后根据距离相机距离进行权重分析。 距离越近,采样约中心,即越接近人眼注意点,最后算出加权平均高度,赋予给相机,相机将水平旋…

基于Qt Designer 操作教程

​本章将简介使用 Qt Creator 里自带的 Qt Designer,使用 Qt Designer 比较方便的构造 UI 界面。特点是方便布局,比较形象。 ## 使用 UI 设计器开发程序 在这小节里我们继续学习如何使用 Qt Designer 开发程序,Qt Designer 是属于 Qt Creator 的一个功能而已,大家不要搞混…

解决:http://localhost:8080 不在以下 request 合法域名列表中

在搭建资源服务器时,遇到了微信开发者工具中无法访问本地资源服务器的情况,报错如下: 参考一篇博文的方法,完美解决 【解决】http://localhost:8080 不在以下 request 合法域名列表中_localhost不在以下 request 合法域名列表中-…

【IDEA】设置sql提示

第一步:注入SQL语言 1.首先选择任意一条sql语句,右击,选择 ‘显示上下文操作’ 2.选择 ‘注入语言或引用’ 3. 往下翻,找到MySQL 第二步:配置MySQL数据库连接 1.首先点击侧边的数据库,再点击上面的加号 2…

总线类设备驱动——IIC

目录 一、本章目标 二、IIC设备驱动 2.1 I2C协议简介 2.2 LinuxI2C驱动 2.3 I2C 设备驱动实例 一、本章目标 一条总线可以将多个设备连接在一起,提高了系统的可扩展性能。这个互联的系统通常由三部分组成:总线控制器、物理总线(一组信号线) 和设备。总线控制器…

构建 hive 时间维表

众所周知 hive 的时间处理异常繁琐且在一些涉及日期的统计场景中会写较长的 sql,例如:周累计、周环比等;本文将使用维表的形式降低时间处理的复杂度,提前计算好标准时间字符串未来可能需要转换的形式。 一、表设计 结合业务场景常…

基于YOLOv8模型暗夜下人脸目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要:基于YOLOv8模型暗夜下人脸目标检测系统可用于日常生活中检测与定位黑夜下人脸目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法…