当前位置: 首页 > article >正文

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.kler.cn/news/324407.html

相关文章:

  • C++学习笔记----8、掌握类与对象(一)---- 对象中的动态内存分配(6)
  • 【球形空间产生器】
  • 解决 Java 中由于 parallelStream 导致的死锁
  • BUG项目管理
  • 【MAC】安装realsense
  • HttpServletRequest简介
  • 美团中间件C++一面-面经总结
  • 25维谛技术面试最常见问题面试经验分享总结(包含一二三面题目+答案)
  • 基于两分支卷积和 Transformer 的轻量级多尺度特征融合超分辨率网络 !
  • 如何组织一场考试并筛选未参加答题的考生?
  • 搜索:如何用 A*搜索算法实现游戏中的寻路功能?
  • Python脚本示例,你可以使用这个脚本来自动化登录网站、选择页面元素和提交表单
  • 『网络游戏』GoLand服务器框架【01】
  • 第 2 章:Vue 组件化编程
  • Cluster Explanation via Polyhedral Descriptions
  • 【性能优化】低配starRocks常驻内存优化
  • py-mmcif提取结构解析的方法、提交日期以及pdb ID等
  • 基于Node.js+Express+MySQL+VUE实现的在线电影视频点播网站管理系统的设计与实现部署安装
  • Kubernetes服务发布基础
  • [leetcode刷题]面试经典150题之9python哈希表详解(知识点+题合集)
  • [go] 状态模式
  • CSS3 字体
  • 卷轴模式开发的技术架构分析与源代码展示
  • 数据结构讲解二叉树 【一】
  • 自动化测试实例:Web登录功能性测试(无验证码)
  • 【JavaEE】——单例模式引起的多线程安全问题:“饿汉/懒汉”模式,及解决思路和方法(面试高频)
  • S32K312 RTD 4.0.0 版本 OCU 例程配置流程说明
  • HuggingChat macOS 版现已发布
  • 【路径规划】基于球向量的粒子群优化(SPSO)算法在无人机路径规划中的实现
  • 002.动手实现softmax回归(pytorch简洁版)