Java编程基础:类与对象的探索之旅

文章目录

  • Java编程基础:类与对象的探索之旅
    • 示例1:Hello World与方法
      • 文件名: demo.java
      • 分析
    • 示例2:对象的创建和属性
      • 文件名: Chapter3.java
      • 分析
    • 示例3:二维数组和方法
      • 文件名: Chapter2.java
      • 分析
    • 总结


Java编程基础:类与对象的探索之旅

在Java编程的世界中,类和对象是构建程序的核心。类是对象的蓝图,而对象是类的实例。本文通过三个简单的Java程序示例,深入探讨类和对象的基本使用,每个示例都附有详细的注释和解释。

示例1:Hello World与方法

文件名: demo.java

package com.cdcas.pkg2;public class demo {public static void main(String[] args) {// 创建A类的实例A a = new A();// 调用A类的方法f()a.f();// 调用A类的方法f1()并打印返回值System.out.println(a.f1());// 调用A类的方法f2()并打印返回值System.out.println(a.f2());// 打印命令行参数args[0],通常用于接收外部输入System.out.println(args[0]);}
}class A {// 定义一个打印Hello World的方法void f() {System.out.println("Hello World");}// 定义一个返回整数100的方法int f1() {return 100;}// 定义一个返回字符串"good"的方法String f2() {return "good";}
}

分析

  • 类A定义了三个方法:f()打印"Hello World",f1()返回整数100,f2()返回字符串"good"。
  • main方法中创建了A的一个实例,并调用这些方法,展示了如何通过对象调用方法。
  • **args[0]**是命令行参数,通常用于接收外部输入。

示例2:对象的创建和属性

文件名: Chapter3.java

package com.cdcas.pkg2;public class Chapter3 {public static void main(String[] args) {// 使用带有三个参数的构造函数创建Student对象Student stu1 = new Student("sunbeam", 23, "男");// 使用带有一个参数的构造函数创建Student对象,并设置默认年龄和性别Student stu2 = new Student("sunbeam");// 打印stu1对象的姓名System.out.println(stu1.getName());// 打印stu1对象的性别System.out.println(stu1.getSex());// 打印stu1对象的年龄System.out.println(stu1.getAge());// 打印stu2对象的姓名System.out.println(stu2.getName());}
}class Student {private String name;private int age;private String sex;// 构造函数:接受姓名、年龄和性别public Student(String name, int age, String sex) {this.name = name;this.age = age;this.sex = sex;}// 构造函数:只接受姓名,设置默认年龄和性别public Student(String name) {this.name = name;this.age = 0; // 默认年龄this.sex = "未知"; // 默认性别}// 获取name属性的值public String getName() {return name;}// 获取age属性的值public int getAge() {return age;}// 获取sex属性的值public String getSex() {return sex;}// 设置name属性的值public void setName(String name) {this.name = name;}// 设置age属性的值public void setAge(int age) {this.age = age;}// 设置sex属性的值public void setSex(String sex) {this.sex = sex;}
}

分析

  • 类Student有两个构造函数:一个接受姓名、年龄和性别,另一个只接受姓名,并提供默认值。
  • main方法中创建了两个Student对象,展示了如何通过构造函数初始化对象的属性。
  • 通过**getNamegetAgegetSex**方法访问对象的属性。

示例3:二维数组和方法

文件名: Chapter2.java

package com.cdcas.pgk1;public class Chapter2 {public static void main(String[] args) {// 创建Salary类的实例Salary salary = new Salary();// 调用sum方法并打印返回的总和int s = salary.sum();System.out.println("sum:" + s);}
}class Salary {// 定义一个二维数组int[][] arr = {{11, 12}, {21, 22, 23}, {31, 32, 33, 34}};// 定义一个计算二维数组总和的方法int sum() {int sum = 0;// 遍历二维数组并计算总和for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {sum += arr[i][j];}}return sum;}
}

分析

  • 类Salary包含一个二维数组arr和一个方法sum(),该方法计算数组中所有元素的总和。
  • main方法中创建了Salary的一个实例,并调用sum()方法,然后打印总和。
  • 这个示例展示了如何在Java中处理二维数组和编写计算总和的方法。

总结

这三个示例展示了Java中类和对象的基本使用,包括方法的定义和调用、对象属性的初始化和访问、以及二维数组的处理。通过这些基础概念,可以构建更复杂的程序和系统。每个示例都附有详细的注释和解释,帮助理解Java编程的基本概念。

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

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

相关文章

ECCV`24 | 高保真目标修复新SOTA!复旦智象开源CAT-Diffusion,语义视觉双一致

文章链接&#xff1a;https://arxiv.org/pdf/2409.08260 Github链接&#xff1a;https://github.com/Nnn-s/CATdiffusion 总结速览 解决的问题: 单一U-Net在所有去噪步骤中对齐文本提示和视觉对象不足以生成期望的对象。 扩散模型的复杂采样空间中无法保证对对象生成的可控性…

物流货运托运发货单二联三联打印软件定制 佳易王物流单管理系统操作教程

一、前言 物流货运托运发货单二联三联打印软件定制 佳易王物流单管理系统操作教程 1、软件为绿色免安装版&#xff0c;解压即可使用&#xff0c;已经内置数据库&#xff0c;不需再安装。 2、软件下载可以到本文章最后点击官网卡片下。 二、软件程序教程 1、如图&#xff0c;…

Html 转为 MarkDown

在 RAG 中,通常需要将 HTML 转为 Markdown,有很多第三方 API 都支持 HTML 的转换,本文使用一个代码文档的例子 https://www.joinquant.com/help/api/help#name:Stock,将聚宽 API 转为 Markdown。本文通过两种方式进行实现,使用收费和开源的解决方案。聚宽 API 格式转为 Ma…

crypto-js解密报错malformed utf-8 data

在进行加解密处理时出现这个问题。 但是当在一个完整程序运行环境内加密字符串&#xff0c;解密字符串是没问题的。 当把加密的字符存储到txt文件&#xff0c;在读取解密时出现错误无法解密。 最后&#xff0c;使用res.replace(/\s/g,‘’)正则过滤掉txt文件内的空格就成功了。…

爆火!大模型算法岗 100 道面试题全解析,赶紧收藏!

大模型应该是目前当之无愧的最有影响力的AI技术&#xff0c;它正在革新各个行业&#xff0c;包括自然语言处理、机器翻译、内容创作和客户服务等等&#xff0c;正在成为未来商业环境的重要组成部分。 截至目前大模型已经超过200个&#xff0c;在大模型纵横的时代&#xff0c;不…

【Kubernetes】常见面试题汇总(四十四)

目录 100.什么是容器资源监视&#xff1f; 101.副本集和复制控制器之间有什么区别&#xff1f; 特别说明&#xff1a; 题目 1-68 属于【Kubernetes】的常规概念题&#xff0c;即 “ 汇总&#xff08;一&#xff09;~&#xff08;二十二&#xff09;” 。 题目 69-113 …

mov视频怎么转换成mp4?这几种转换方法值得收藏起来!

mov视频怎么转换成mp4&#xff1f;MOV格式&#xff0c;作为苹果专属的产物&#xff0c;它在非苹果体系下的兼容性常常受限&#xff0c;导致用户可能在非苹果软件平台上遭遇播放难题&#xff0c;甚至无法顺利加载视频内容&#xff0c;而且&#xff0c;MOV格式以其独特的压缩技术…

干货 | 2024制造业数字化现状调查白皮书(免费下载)

导读&#xff1a;在这本白皮书中&#xff0c;我们询问了制造商有关数字化转型的工作情况、2024 年的优先事项和可持续性。研究结果清楚地表明&#xff0c;在数字化方面处于领先地位的制造商转型项目比那些没有规划或刚刚起步的项目实现的价值要大得多。 加入知识星球或关注下方…

青动CRM-E售后V2.0.4

CRM售后管理系统&#xff0c;旨在助力企业销售售后全流程精细化、数字化管理&#xff0c;主要功能&#xff1a;客户、合同、工单、任务、报价、产品、库存、出纳、收费&#xff0c;适用于&#xff1a;服装鞋帽、化妆品、机械机电、家具装潢、建材行业、快销品、母婴用品、办公用…

只需要两步制作GIF动态图,方便快捷,制作动态表情包的利器!

推荐阅读&#xff1a;Python制作进度条&#xff0c;18种方式全网最全&#xff01;&#xff08;不全去你家扫厕所&#xff01;&#xff09; 在日常生活中肯定会接触到gif&#xff0c;例如在写文章的时候&#xff0c;有时需要将自己的代码的运行结果展示出来&#xff0c;如果放一…

05-成神之路_ambari_Ambari实战-013-代码生命周期-metainfo-configFiles详解

1.Redis 集群 metainfo.xml 示例 <?xml version"1.0"?> <metainfo><schemaVersion>2.0</schemaVersion><services><service><!-- Redis 集群服务的基本信息 --><name>REDIS</name><displayName>Redi…

VulnHub-SickOs1.1靶机笔记

SickOs1.1靶机笔记 概述 Vulnhub的靶机sickos1.1 主要练习从互联网上搜取信息的能力&#xff0c;还考察了对代理使用&#xff0c;目录爆破的能力&#xff0c;很不错的靶机 靶机地址&#xff1a; 链接: https://pan.baidu.com/s/1JOTvKbfT-IpcgypcxaCEyQ?pwdytad 提取码: yt…

Kali Linux上安装远程桌面服务VNC

在Kali Linux上安装远程桌面服务VNC&#xff0c;可以按照以下步骤进行&#xff1a; 一、安装VNC Server 更新软件包列表&#xff1a; 在终端中运行以下命令&#xff0c;以确保你的软件包列表是最新的。 sudo apt update在执行更新之前会先验证当前账号密码&#xff0c;输入密码…

一种路径敏感的数据依赖分析算法

Falcon 1.方法1.1.Basic Rule1.2.改进算法1.3.跨函数分析 2.Evaluation2.1.设置2.2.value-flow分析2.3.Thin Slicing2.4.Bug Detection 参考文献 这篇工作发表于PLDI 24&#xff0c;提出了一种context- 以semi-path-sensitive的数据依赖分析算法&#xff0c;解决path-sensitive…

大数据毕业设计选题推荐-广东旅游数据分析系统-Hive-Hadoop-Spark

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、PHP、.NET、Node.js、GO、微信小程序、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇…

【牛Y】3DMAX快速构建低多边形城市建筑和道路插件CityBlocks教程

3DMAX快速构建低多边形城市建筑和道路插件CityBlocks&#xff0c;该插件功能主要分为两部分&#xff1a;一键城市建筑生成和一键城市道路生成。可用于城市配景建模、地图三维建模等使用。内置多种建筑组合方式&#xff0c;可使生成的建筑配景更加丰富、富于变换&#xff01; 【…

C++友元和运算符重载

目录 一. 友元 friend 1.1 概念 1.2 友元函数 1.3 友元类 1.4 友元成员函数 二. 运算符重载 2.1 概念 2.2成员函数运算符重载 2.3 成员函数运算符重载 2.4 特殊运算符重载 2.4.1 赋值运算符重载 2.4.2 类型转换运算符重载 2.5 注意事项 三、std::string 字符串类…

sentinel原理源码分析系列(一)-总述

背景 微服务是目前java主流开发架构&#xff0c;微服务架构技术栈有&#xff0c;服务注册中心&#xff0c;网关&#xff0c;熔断限流&#xff0c;服务同学&#xff0c;配置中心等组件&#xff0c;其中&#xff0c;熔断限流主要3个功能特性&#xff0c;限流&#xff0c;熔断&…

基于单片机语音智能导盲仪仿真设计

文章目录 前言资料获取设计介绍设计程序具体实现截图设计获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师&#xff0c;一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们…

计算机毕业设计Python+Spark知识图谱微博舆情预测 微博推荐系统 微博可视化 微博数据分析 微博大数据 微博爬虫 Hadoop 大数据毕业设计

《PythonSpark知识图谱微博舆情预测》开题报告 一、课题背景与意义 随着互联网技术的飞速发展&#xff0c;社交媒体平台如微博已成为人们表达观点、交流信息的重要渠道。微博每天产生海量的数据&#xff0c;这些数据中蕴含着丰富的社会情绪、事件动态等信息&#xff0c;对于政…