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

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

在这里插入图片描述
关于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.xdnf.cn/news/1420892.html

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

相关文章

7.STL_string1.0(详细)

目录 1. 什么是STL 2. STL的版本 3. STL的六大组件 1. 为什么学习string类? 1.1 C语言中的字符串 2. 标准库中的string类 2.1 string类(了解) 2.2 string类的常用接口说明 1. string类对象的常见构造 2. string类对象的容量操作 reserve 3. string类对象…

体验MouseBoost PRO,让Mac操作更高效

还在为Mac的右键功能而烦恼吗?试试MouseBoost PRO for Mac吧!这款强大的鼠标右键增强软件,能让你通过简单操作即可激活多种实用功能,让你的工作变得更加轻松。其高度定制化的设计,更能满足你的个性化需求。赶快下载体验…

【C++】string底层的实现原理(简单详细)

前言 本篇文章我将按照C文档库中的模块顺序来实现和讲解其实现原理,我们只讲各板块中常用的 目录 一,Member functions(成员函数) 二、Iterators(迭代器) 三、Capacity(容器) 常…

[AIGC] redis 持久化相关的几道面试题

文章目录 1. 什么是Redis持久化?2. Redis 的持久化机制是什么?各自的优缺点?2.1 RDB(Redis DataBase),快照2.2 AOF(Append Only File),日志 3. 优缺点是什么?…

【递归、回溯和剪枝】全排列 子集

0.回溯算法介绍 什么是回溯算法 回溯算法是⼀种经典的递归算法,通常⽤于解决组合问题、排列问题和搜索问题等。 回溯算法的基本思想:从⼀个初始状态开始,按照⼀定的规则向前搜索,当搜索到某个状态⽆法前进时,回退到前…

Electron、QT、WPF三强争霸,该支持谁呢?

Electron、QT、WPF都是跨平台的桌面应用开发框架,都是非常流行的,作为开发者该选用哪个呢?本文从多个角度分析一下。 一、定义 Electron、Qt 和 WPF 都是用于创建桌面应用程序的框架或工具,它们各自有着不同的特点和优势。 Elec…

插件:Best HTTP

一、简介 WebSocket WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。…

C++笔记(体系结构与内核分析)

1.OOP面向对象编程 vs. GP泛型编程 OOP将data和method放在一起,目的是通过封装、继承、多态提高软件的可维护性和可扩展性GP将data和method分开,可以将任何容器与任何算法结合使用,只要容器满足塞饭所需的迭代器类型 2.算法与仿函数的区别 …

Java8 ConcurrentHashMap 存储、扩容源码阅读

文章目录 1. 概述2. 入门实例3. 属性4. 核心方法4.1 put4.2 initTable4.3 transfer4.4 sizeCtl4.5 sizeCtl bug 1. 概述 ConcurrentHashMap 是线程安全且高效的 HashMap。 HashMap 可以看下我这篇 传送门 。 2. 入门实例 public class MyStudy {public static void main(St…

【从零开始学架构 架构基础】二 架构设计的复杂度来源:高性能复杂度来源

架构设计的复杂度来源其实就是架构设计要解决的问题,主要有如下几个:高性能、高可用、可扩展、低成本、安全、规模。复杂度的关键,就是新旧技术之间不是完全的替代关系,有交叉,有各自的特点,所以才需要具体…

DELL T630服务器iDRAC分辨率调整办法

对于Dell T630服务器的iDRAC分辨率调整,您需要登录到iDRAC的Web界面。以下是详细的步骤: 登录iDRAC:在浏览器中输入iDRAC的IP地址,然后使用用户名(通常是“root”)和密码登录。 导航到虚拟控制台&#xff…

在Ubuntu 24.04 LTS (Noble Numbat)上安装nfs server以及nfs client

在Ubuntu 24.04 LTS (Noble Numbat)上,我使用的是最小化安装, 当然server版本的Ubuntu在安装的时候可能会有网络不通的问题,解决办法见如下文章: ubuntu 24.04 server 仅NAT模式上网设置静态IP设置-CSDN博客文章浏览阅读489次,点赞9次,收藏3次。在Ubuntu 24.04 上设置网…

2024 cleanmymac有没有必要买呢,全反面分析

在使用mac时,小编遇到了运行内存不足、硬盘空间不足的情况。遇到这种情况,我们可以借助经典的电脑深度清理软件——CleanMyMac X,清理不常用的软件和系统垃圾,非常好用!不过,有许多网友发现CleanMyMac X有免…

AI算法-高数5-线性代数1-基本概念、向量

线性代数:主要研究1、张量>CV计算机视觉 2、研究张量的线性关系。 深度学习的表现之所以能够超过传统的机器学习算法离不开神经网络,然而神经网络最基本的数据结构就是向量和矩阵,神经网络的输入是向量,然后通过每个矩阵对向量…

【动态规划】子序列问题I|最长递增子序列|摆动序列|最长递增子序列的个数|最长数对链

一、最长递增子序列 300. 最长递增子序列 算法原理: 💡细节: 1.注意子序列和子数组的区别: (1)子序列:要求顺序是固定的(要求没那么高,所以子序列就多一些) (2)子数组:要…

报告!Golang冲上来啦!

今天又来讲Go语言,根据全球知名的编程语言排行榜TIOBE在4月份公布的最新的编程语言排名,令人瞩目的是,Go语言已经跃升至历史最高位,位列排行榜第七名,并且Go语言是前十榜单中最年轻的编程语言。这一成绩不仅彰显了Go语…

数据结构·一篇搞定栈!

好久不见,超级想念 废话不多说,直接看 引言 在数据结构的大家族中,栈(Stack)是一种非常重要的线性数据结构,它的特点是后进先出(LIFO,Last In First Out)。栈在程序设…

MFC的CPen与CBush画图对象使用步骤

在MFC中,CPen和CBrush是两个常用的绘图对象,分别用于定义画笔和画刷,可以用于绘制图形、填充区域等。下面我会详细介绍如何在MFC中使用CPen和CBrush来绘制和填充图形。 使用 CPen 绘制图形: 创建 CPen 对象: 首先&am…

练习题(2024/5/12)

1二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4…

鸿蒙开发学习:初探【ArkUI-X】

ArkTS 是华为自研的开发语言。它在TypeScript(简称TS)的基础上,匹配 ArkUI 框架,扩展了声明式 UI 、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。 ArkUI-X 进一步将 ArkUI 扩展到了多个 OS 平台…