如何快速变得专业:掌握类的基本概念-类/方法/关键字/变量/数据类型/注释

news2024/11/26 12:24:18

在李笑来的《财富自由之路》中提到一种初学者快速入门的学习方法:快速掌握最小必要知识。

在这里插入图片描述
关于Java的类,最少必要知识就是本文提到的基本概念,掌握了这些基本概念,就对类有了基本的了解,为后续的深入学习和沟通奠定了基础,是构建专业知识体系的第一步。

本文将围绕“基本概念——类、方法、关键字、变量、数据类型、注释”,并通过一个完整的Java类示例,帮助读者扎实基础,快速迈向专业开发者的行列。

1. 类(Class)

概念解析:类是Java面向对象编程的基础单元,是一种自定义的数据类型,用于描述一类对象的共同属性和行为。每个Java应用程序至少包含一个类,它是创建对象的模板或蓝图。

示例代码

public class Animal {
    // 属性:共同特征
    String name;
    int age;

    // 方法:共同行为
    public void eat() {
        System.out.println("Animal is eating.");
    }

    public void sleep() {
        System.out.println("Animal is sleeping.");
    }
}

如图所示,把一个类进行解剖,其关键信息如下:
在这里插入图片描述

  • ①一个类本质是一个文本文件,打开这个文件,一个完整的类会包含②③④⑤⑥
  • ②包名,必不可少,每个类一定在一个特定的包下,包是对类分门别类管理的一种方式
  • ③类的定义,包括访问修饰符(public)、关键字(class)、类名,只有类名是咱们Java程序员自定义的,只要符合Java规范即可,另外两部分都是固定的,不能改变的。不过访问修饰符有三种选择:public、protected、private。类的代码主要包含在在类名后面的大括号(第3行和第28行)之间,
  • ④变量
  • ⑤方法
  • ⑥本质上也是方法,不过这是一个特殊的方法,每个Java应用都有一个入口,这个入口就是main方法。当然每个类都可以包含一个main方法,但Java应用在运行时,只有一个main方法是入口,这个main方法在启动时会被指定。

2. 关键字(Keyword)

概念解析:关键字是Java语言中具有特殊意义的保留单词,它们用于定义程序的结构、控制流程等,比如上面类定义中的publicclassvoid等,当然还有很多关键字,后续会陆续接触到。

3. 方法(Method)

概念解析:方法是类中定义的可执行代码块,用于执行特定任务。它封装了行为,使得代码更加模块化和易于维护。

一个方法由三部分组成:

  • ①方法声明,包含❶访问修饰符(public,也可能是private/protected),❷返回类型(void表示无返回,也可以是其他类型),❸方法名
  • ②一对大括号
  • ③方法体,必须包含在大括号内
    在这里插入图片描述

4. 变量(Variable)

概念解析:变量是程序中存储数据的容器,具有类型、名称和值。Java中的变量必须先声明后使用,并且遵循严格的类型检查规则。

变量定义包括三部分:

  • ①访问修饰符,可能是public/private/protected,没有其他选项
  • ②变量类型
  • ③变量名称
    在这里插入图片描述

5. 数据类型(Data Types)

概念解析:Java的数据类型分为两大类:基本数据类型(如int、double、char)和引用数据类型(如类、数组)。基本数据类型直接存储值,而引用类型存储的是对象的内存地址。

6. 注释(Comment)

概念解析:注释是程序员添加在代码中的非执行文本,用于解释代码的功能、目的或提供其他相关信息。Java支持单行注释(//)、多行注释(/* ... */)和文档注释(/** ... */)。

完整示例:动物王国的猫类

为了更好地理解上述概念,让我们通过一个简单的“猫”类(Cat)来综合应用这些知识。

/**
 * Cat 类,继承自 Animal 类,展示了 Java 基本概念的应用。
 */
public class Cat extends Animal { // 使用 "extends" 关键字继承 Animal 类

    // 新增属性
    String breed; // 猫的品种

    // 构造方法:初始化属性
    public Cat(String name, int age, String breed) {
        super(name, age); // 使用 "super" 调用父类构造器
        this.breed = breed;
    }

    // 重写父类方法
    @Override // 使用 "@Override" 注解表明此方法覆盖了父类的方法
    public void eat() {
        System.out.println("Cat " + name + " is eating fish.");
    }

    // 新增方法
    public void meow() {
        System.out.println("Cat " + name + " says 'Meow~'");
    }

    // 主函数,用于测试 Cat 类
    public static void main(String[] args) {
        Cat myCat = new Cat("Mimi", 3, "Siamese"); // 创建 Cat 对象
        myCat.eat(); // 调用 eat 方法
        myCat.sleep(); // 通过继承调用父类方法
        myCat.meow(); // 调用新增的 meow 方法
    }
}

结语

通过上述“猫”类的示例,我们不仅复习了Java的基本概念,还见识了如何将这些概念应用于实际编程中。

掌握类与对象、方法的定义与调用、关键字的意义、变量的使用、数据类型的区分以及合理运用注释,是成为Java专业开发者不可或缺的基石。

实践是学习的最佳途径,建议读者动手尝试编写并运行代码,不断探索Java的奥秘,逐步提升自己的编程技能。

随着经验的积累和技术的深化,你将能够更自信地面对复杂的项目和挑战,真正步入专业开发者的行列。

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

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

相关文章

C++基础与深度解析 | 什么是C++ | C++开发环境与相关工具 | C++编译/链接模型

文章目录 一、什么是C二、C的开发环境与相关工具三、C的编译/链接模型 一、什么是C C是一门比较流行的编程语言(高级语言),同时也是一门复杂的语言。从TIOBE 编程社区指数中可以看出:在2024.04中,其编程语言受欢迎程度…

1. 抓娃娃-二分

因为这个限制,所以不用担心线段比区间长 线段一定比区间短的话,想要判断是否线段的二分之一及以上在区间内,则可以转化为线段中点是否在区间内的问题 如果没有那个限制,那么就无法这么考虑了,因为即使中点在区间内&…

C++笔试强训day19

目录 1.小易的升级之路 2.礼物的最大价值 3.对称之美 1.小易的升级之路 链接 模拟就行&#xff0c;唯一可能是难点得就是gcd&#xff08;最大公约数&#xff09; #include <iostream> using namespace std; #define int long long const int N 1e5 10; int arr[N];…

wsl安装Xfce桌面并设置系统语言和输入法

一、安装xfce &#xff08;有相关的依赖都会安装&#xff09; sudo apt -y install xfce4 二、 安装远程连接组件 sudo apt install xrdp -y 并重新启动 Xrdp 服务&#xff1a; sudo systemctl restart xrdp 本地windows系统中请按 winR 键 呼出运行 在运行中输入 mstsc…

考研OSchap4文件管理chap5磁盘管理(部分)

目录 一、整体认知 1.文件的定义 250 2.文件的属性 251 3.文件内部应该如何被组织(逻辑结构) 256 4.文件之间应该如何被组织起来(目录结构) 252 5.OS应该向上提供哪些功能 253 6.文件应该如何存放在外存中(物理结构) 258 7.OS如何管理外存中的空闲块(存储空间的管理) 25…

基于数据挖掘与机器学习揭秘脱发主因

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 基于数据挖掘与机器学习揭秘脱发主因 目录 一、绪论背景描述数据说明内容大概 二、导入包以及数据读取三、数据预览四、探究导致脱发的因素4.1…

Java随笔1

1.编程中组件的概念&#xff1a; 在编程中&#xff0c;组件&#xff08;Component&#xff09;通常指的是一种可重用的、模块化的代码单元&#xff0c;它封装了特定的功能或用户界面元素&#xff0c;并提供了与其他代码进行交互的接口。组件可以看作是对数据和方法的简单封装&…

docker-compose安装emqx集群(最新)(host模式)

机器&#xff1a; 10.60.0.20 10.60.0.21 10.60.0.22 一、三台机子都配置域名&#xff08;/etc/hosts&#xff09; 10.60.0.20 node1.emqx.io 10.60.0.22 node3.emqx.io 10.60.0.21 node2.emqx.io 二、docker-compose.yml&#xff08;10.60.0.21&#xff09; 其他两台机子自…

机器学习(五) ----------决策树算法

目录 1 核心思想 2 决策树算法主要步骤 3 决策树算法的分类 3.1 ID3算法&#xff08;Iterative Dichotomiser 3&#xff09;&#xff1a; 3.1.1 基本步骤 3.1.2 原理 信息增益 3.1.3 注意事项 3.2 C4.5算法&#xff1a; 3.2.1. 信息增益率 计算公式 3.2.2. 构建决策…

Xshell 7官网免费版下载与安装详细教程!学校/家庭使用免费哦~

一、 安装 1 卸载之前安装的xshell, 未安装忽略此步骤 2 解压本地文件&#xff0c;双击运行xshell**.exe, 按照提示安装 等候引导完成 3 点击下一步 4接受下一步 5 选择安装的路径 改成你自己的安装路径 6程序文件夹选择默认 7 取消勾选&#xff0c;激活之后操作 8 激活&…

基础ArkTS组件:帧动画,内置动画组件,跑马灯组件(HarmonyOS学习第三课【3.6】)

帧动画 帧动画也叫序列帧动画&#xff0c;其原理就是在时间轴的每帧上逐帧绘制不同的内容&#xff0c;使其连续播放而成动画。ArkUI开发框架提供了 ImageAnimator 组件实现帧动画能力&#xff0c;本节笔者介绍一下 ImageAnimator 组件的简单使用。 官方文献 说明 该组件从A…

编写Ansible角色实现分布式LNMP安装

前言 本文将介绍如何使用 Ansible 编写角色&#xff0c;在分布式环境下完成 LNMP&#xff08;Linux、Nginx、MySQL、PHP&#xff09;的自动化&#xff08;编译&#xff09;安装和配置&#xff0c;并验证 PHP 与 MySQL 数据联通性&#xff0c;实现博客和论坛页面的展示。 常规…

[数据集][目标检测]电力场景安全帽检测数据集VOC+YOLO格式295张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;295 标注数量(xml文件个数)&#xff1a;295 标注数量(txt文件个数)&#xff1a;295 标注类别…

Web自动化 - selenium

文章目录 一、selenium的使用selenium的安装 二、元素1. 定位选择元素1.id 定位2. class_name 定位find_element 和 find_elements的区别3. TAG_NAME 定位4. 超链接 定位 2. 操控元素1. 查询内容2. 获取元素文本内容3. 获取元素属性 3. 浏览器常用操作API4. 鼠标操作 - perform…

微信小程序 17:小程序使用 npm 包和组件应用

目前&#xff0c;小程序中已经支持实用 npm 安装第三方包&#xff0c;从而提高小程序的开发效率&#xff0c;但是在小程序中使用 npm 包有三个限制&#xff1a; 不支持 Node.js内置库的包不支持依赖于浏览器内置对象的包不支持依赖于 C插件的包 Vant Weapp Vant Weapp是有赞…

合专家模型 (MoE) 详解

本文转载自&#xff1a;混合专家模型 (MoE) 详解 https://huggingface.co/blog/zh/moe 英文版&#xff1a;https://huggingface.co/blog/moe 文章目录 一、简短总结二、什么是混合专家模型&#xff1f;三、混合专家模型简史四、什么是稀疏性?五、混合专家模型中令牌的负载均衡…

战火重燃!全球仓储机器人内卷大盘点~

导语 大家好&#xff0c;我是智能仓储物流技术研习社的社长&#xff0c;老K。专注分享智能仓储物流技术、智能制造等内容。 新书《智能物流系统构成与技术实践》 随着全球经济的持续发展和电子商务的迅速崛起&#xff0c;仓储和物流行业正面临着前所未有的挑战与机遇。 在这个背…

LeetCode 题目 121:买卖股票的最佳时机

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容&#xff0c;和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣&#xff01; 推荐&#xff1a;数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航&#xff1a; LeetCode解锁100…

【C语言项目】贪吃蛇(下)

个人主页~ 源码在Gitee仓库~ 上一篇贪吃蛇&#xff08;上&#xff09;~ 贪吃蛇 四、核心的实现游戏测试1、GameStart&#xff08;1&#xff09;控制台窗口大小和名字设置&#xff08;2&#xff09;光标隐藏&#xff08;3&#xff09;打印欢迎界面&#xff08;4&#xff09;创建…

18 【Aseprite 作图】工具栏介绍

1 在没有输入法的情况下&#xff0c; 按住Shift 大写的N&#xff0c;就可以快速新建图层 ctrl z 撤回这个图层 2 双击图层&#xff0c;可以修改图层名称和属性 3 按住图层&#xff0c;拖动图层&#xff0c;可以把图层拉到 组&#xff0c;就可以方便一组一组管理图层 4 保存的…