Java SE入门及基础(20)

目录

类和对象

1. 类的由来

2. 如何定义类

语法

示例

3. 类图

4. 类和对象的关系

解释说明

语法

示例

示例

结论

Java SE文章参考:Java SE入门及基础知识合集-CSDN博客


类和对象

1. 类的由来

        人们在日常生活中,经常会将具有相同特征或者相同行为的事物归为一类。在Java 中,用来描述这类事物的就是Java 类, Java 类就是这样诞生的。 Java 是一门以类为组织单元的语言,我们定义的 Java 类就是一种Java 数据类型,该数据类型属于引用数据类型。

2. 如何定义类

语法

public class 类名 {
}

示例

// 人类
public class Person {
}
类定义好了,如何填充类中的内容?
找出人类共同的特征:姓名,性别,年龄
public class Person {
public String name ; // 姓名
public String sex ; // 性别
public int age ; // 年龄
}
找出人类共同的行为:吃饭、睡觉、工作
在类中如何描述人类的行为?
Java 中,使用方法来描述行为,方法的定义语法如下:
//[] 中内容表示可有可无
访问修饰符 返回值类型 方法名 ([ 参数列表 ]){
        [ return 返回值 ;]
}
那么 Person 类的定义应该如下:
public class Person {
        public String name ; // 姓名
        public String sex ; // 性别
        public int age ; // 年龄
        public void eat (){
                System . out . println ( " 人吃饭 " );
        }
        public void sleep (){
                System . out . println ( " 人睡觉 " );
        }
        public void work (){
                System . out . println ( " 人工作 " );
        }
}

3. 类图

        类图用于描述类的结构,与流程图一样,简单直观,容易理解
        public修饰的属性和方法前需要使用 '+' private 修饰的属性和方法前需要使用 '-'
       

4. 类和对象的关系

解释说明

        类是描述多个事物的共有特征和行为的一个抽象体。而对象是一个具体的事物,每一个属性和每一个行为都是具体的。类是对象的集合体。类是用来构建具体的对象的。

语法

类名 对象名 = new 类名 ();
对象名 . 属性名 = 属性值 ;

示例

public static void main ( String [] args ) {
        //这里 p 称为对象名,跟数组名一样,本质都是变量。只是在面向对象中称之为对象名
        Person p = new Person (); // 构建了一个具体的人,只是这个人目前还没有名字,性别和年龄
        p . name = " 刘德华 " ;
        p . sex = " " ;
        p . age = 53 ;
       
}
     
           类既然是一类事物的共同特征和行为的描述,那么一个类应该可以描述多个事物,因此类也可以创建 多个对象

示例

public static void main ( String [] args ) {
        //这里 p 称为对象名,跟数组名一样,本质都是变量。只是在面向对象中称之为对象名
        Person p = new Person (); // 构建了一个具体的人,只是这个人目前还没有名字,性别和年龄
        p . name = " 刘德华 " ;
        p . sex = " " ;
        p . age = 53 ;
        Person p1 = new Person ();
        p1 . name = " 张学友 " ;
        p1 . sex = " " ;
        p1 . age = 52 ;
        Person p2 = new Person ();
        p2 . name = " 黎明 " ;
        p2 . sex = " " ;
        p2 . age = 45 ;
}

结论

        类是对多个事物的抽象描述,描述的是他们的共同特征和行为举止。但需要注意的是: 类中描述的共同 特征,在对象创建出来之后是跟随对象走的。行为举止也是一样,属于对象。

Java SE文章参考:Java SE入门及基础知识合集-CSDN博客

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

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

相关文章

ElasticSearch的常用增删改查DSL和代码

es增删改查常用语法 我们日常开发中,操作数据库写sql倒是不可能忘记,但是操作es的dsl语句有时候很容易忘记,特地记录一下方便查找。 DSL语句 1、创建索引 -- 创建索引 PUT /my_index {"mappings": {"properties": {&…

AWS Cognito 实战指南

Amazon Cognito 是 AWS 提供的一项身份验证和访问控制服务,适用于构建安全的用户身份验证和访问控制功能。本指南将介绍如何使用 AWS Cognito 创建用户池和身份池,并在 Java 、 Python 和JavaScript应用程序中实现用户注册和登录功能。 步骤 1: 创建用户池 登录 AWS 控制台。…

GEE中Landsat、Sentinel、Modis主要数据集区别

一、Landsat 1. Collection 1/2 的区别 Collection 2 是Landsat Level 1 数据的又一次重大再处理,显著提高了绝对地理定位精度。 Collection1Collection2时间跨度1972~2021底1972~至今数据等级level 1level1:1972~2021底 level2:1982~至今 …

docker 安装mysql 并支持远程访问

docker mysql 安装 拉取镜像 docker pull mysql运行 mysql 容器 docker run --name mysql-container -e MYSQL_ROOT_PASSWORDmy-secret-pw -p 3306:3306 -d mysql:tag这里 mysql-container 是您给容器指定的名字,my-secret-pw 应替换为您希望设定的密码。tag 是镜…

路由器初始化配置、功能配置

实验环境 拓扑图 Ip规划表(各组使用自己的IP规划表) 部门 主机数量 网络地址 子网掩码 网关 可用ip Vlan 市场部 38 192.168.131.0 255.255.255.0 192.168.131.1 2-254 11 研发部 53 192.168.132.0 255.255.255.0 192.168.132.1 2-2…

Oracle21C + PLSQL Developer 15 + Oracle客户端21安装配置完整图文版

一、Oracle21C PLSQL Developer 15 Oracle客户端文件下载 1、Oracl21C下载地址:Database Software Downloads | Oracle 中国 2、 PLSQL Developer 15下载地址:Registered download PL/SQL Developer - Allround Automations 3、 Oracle 客户端下载地址…

全球光伏知名企业-晶科能源联合泛微采知连,建立文控管理平台

晶科能源股份有限公司(简称“晶科能源”)是一家全球知名、极具创新力的太阳能科技企业。 (图片素材来自晶科能源官网) 公司战略性布局光伏产业链核心环节,聚焦光伏产品一体化研发制造和清洁能源整体解决方案提供&…

[晓理紫]每日论文分享(有中文摘要,源码或项目地址)--具身智能、强化学习

专属领域论文订阅 VX关注 晓理紫,每日更新论文,如感兴趣,请转发给有需要的同学,谢谢支持 分类: 大语言模型LLM视觉模型VLM扩散模型视觉导航具身智能,机器人强化学习开放词汇,检测分割 [晓理紫]每日论文分享…

【LabVIEW FPGA入门】FPGA中的数学运算

数值控件选板上的大部分数学函数都支持整数或定点数据类型,但是需要请注意,避免使用乘法、除法、倒数、平方根等函数,此类函数比较占用FPGA资源,且如果使用的是定点数据或单精度浮点数据仅适用于FPGA终端。 1.整数运算 支持的数…

【Java】IDEA中的JFormDesigner使用教程

目录 1 安装 JFormDesigner 插件2 JFormDesigner 使用教程2.1 新建JFormDesigner Form时的选项2.2 JFormDesigner Form界面布局2.3 JFormDesigner 组件2.3.1 Components基本组件2.3.2 Containers中间容器(面板)2.3.3 Windows顶级容器(窗口&am…

给科研人的 ML 开源发布工具包

什么是开源发布工具包? 恭喜你的论文成功发表,这是一个巨大的成就!你的研究成果将为学界做出贡献。 其实除了发表论文之外,你还可以通过发布研究的其他部分,如代码、数据集、模型等,来增加研究的可见度和采…

【从0上手cornerstone3D】如何加载nifti格式的文件

在线演示 支持加载的文件格式 .nii .nii.gz 代码实现 npm install cornerstonejs/nifti-volume-loader// ------------- 核心代码 Start------------------- // 注册一个nifti格式的加载器 volumeLoader.registerVolumeLoader("nifti",cornerstoneNiftiImageVolu…

Qt/C++编写视频监控系统83-自定义悬浮条信息

一、前言 一般视频控件上会给出个悬浮条,这个悬浮条用于显示分辨率或者一些用户期望看到的信息,一般常用的信息除了分辨率以外,还有帧率、封装格式、视频解码器名称、音频解码器名称、实时码率等,由于实际的场景不一样&#xff0…

G7易流:API连接实现无代码开发的电商平台和营销系统集成

【无代码开发的G7易流连接解决方案】 在今天的电商大环境下,效率和自动化不仅是提升业务运作成功的关键因素,更是决定电商平台生存与否的重要环节。G7易流,全球领先的物联网软件服务公司,对此深有体会。他们为电商行业提供了一种…

el-date-picker默认结束为当前时分秒

在element ui中的日期时间选择组件中默认是00:00,现在需求是点击默认结束时间为当前时分秒,查了很多资料写的都不准确 需求:实现日期时间组件可选择当前日期,比如当前是2024年01月17号下午17:21 那选中时必须结束时间为17&#x…

wpf DataGrid 实现拖拽变换位置,双击拖拽向下自动滚动

DataGrid_Drop事件是在拖放操作中释放拖动的对象时触发的事件。使用VisualTreeHelper.HitTest方法获取鼠标释放位置的目标元素。 循环向上遍历VisualTree,直到找到DataGridRow为止。 如果找到DataGridRow,则获取其索引。 检查索引是否有效,如…

页面数据类型为json,后端接受json数据

项目结构 依赖pom.xml <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.8.RELEASE</version></dependency><dependency><groupId>org.springframework…

Spring Boot整合Junit,@RunWith和@SpringBootTest的使用

Spring Boot整合Junit&#xff0c;RunWith和SpringBootTest的使用 1、在pom.xml添加junit启动器 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId> </dependency>2、编写测试…

小白准备蓝桥杯之旅(c/c++b组)

前言&#xff1a;省赛获奖比例高达百分之60,只要比一半的人努力&#xff0c;你就能大概率获奖。 寒假做的3件事 1.稳基础 熟练掌握基础语法部分&#xff0c;c比c多个stl库优势&#xff0c;c语言的同学需要会实现c中stl库部分 2.刷真题 大概比赛前30天&#xff0c;坚持每天做…

Linux查询内存占用情况以及服务器内大文件

内存占用率 free -m查看硬盘空间大小 df -lh显示大于100MiB(注意不是100MB&#xff0c;MiB和MB的区别)的所有文件 find / -size 100M -ls查看根目录占用大小 du -sh /* 2>dev.null |sort -hr | head -3列出 /bin 目录中的 5 个最大文件 ls -lSh /bin | head -5 查找 / …