课时11:综合实战:简单Java类

简介: 本次分享的主题是综合实战:简单 Java 类。主要分为两个部分:1.简单 Java 类的含义2.简单 Java 类的开发

课时11:综合实战:简单Java类


摘要:本次分享的主题是综合实战:简单 Java 类。主要分为两个部分:

1.简单 Java 的含义

2.简单 Java 类的开发

 

接下来看一个综合性的例子,称之为“简单 Java 类”。实际上简单 Java 类的概念是非常重要的。在大家今后进行项目开发与设计的过程中,简单 Java 类将作为一个不可或缺的组成部分存在。


逐渐接触到正规的项目设计时,会发现简单 Java 类无处不在。虽然在实际应用中可能会产生一系列的变化,但总的来说只要有编写程序的地方简单 Java 类就会存在,并且会一直伴随着我们。

 

01.简单 Java 类的含义

 

什么叫简单 Java 类呢?简单来阐述一下这个概念。关于这个概念的基本内容之前已经讨论过了,现在主要想结合这个程序来进一步说明。所谓的简单 Java 类指的是能够描述某一类信息的程序实体。


比如描述一个人的信息、一本书的信息、一个部门的信息,或者一个雇员的信息,这样的实体并不需要包含特别复杂的逻辑操作。也就是说它可能不会包含复杂的 For 循环或其他复杂的条件判断,而只是作为一个信息存储的媒介存在。那么仅作为一种信息存储的媒介,这就是简单 Java 类的一个基本概念。

 

02.简单 Java 类的开发

 

到底如何进行简单 Java 类的开发呢?接下来简要地讨论一下。对于简单 Java 类而言其核心的开发结构如下,这是第一部分结构,后续还会有扩充,到时候再详细说。


那么关于其主要的核心结构,第一点请记住类名称一定要有意义,能够明确地描述某一类产品或某一类事物。第二点类中的所有属性都必须使用 Private 关键字进行封装。同时封装后的属性必须提供对应的 Setter  Getter 方法。


注意这里说的“必须”指的是在简单 Java 类的规范中这是必要的,不要片面地认为简单 Java 类就是简单地写写 Setter Getter 方法就过去了。简单 Java 类的核心在于它是对一些事物或概念的抽象描述。

那么类中可以提供无数个构造方法,但是必须保留一个无参构造方法。并且类中不允许出现任何的输出语句,所有内容的获取必须通过返回语句来实现。


举个例子来说,假如我现在碰到一个人,他是个小偷,我正在抓他,我问他叫什么名字,他却在心里默念。这是什么意思呢?就像我问你问题,寻求信息,而你却只在心里自己回答,没有告诉我一样。你应该告诉我:“我叫姜家正。”然后我再根据这个信息去判断。


所以说这边你要把信息交给我,而不是自己在心里默念。因此所有人员提供的信息内容必须通过返回语句交给我。


接下来可以提供一个非可选但非必需的方法,用于获取对象的详细信息。现在暂时将这个方法的名称定义为 GetInfo 。完成这个定义后来看一个简单的 Java 示例,您来检查一下。请允许我定义一个简单的 Java 类。“那么现在来写这个代码。先写一个简单的Class Dept ,请注意类名应该能够清晰地描述出它所代表的事物。


比如一看到这个类名就知道它是关于 Dept 的某个事物,但是曾经有个学生给我写过一个特别让人费解的类名,他居然写了个叫‘高登’的类名。这里不采用这样的命名方式。”之后现在再次回到这里。现在要在这里为它定义几个属性。


按照之前所说的所有的属性需要使用私有封装,即 Private ,也就是 Long Deptno 接下来定义一个字符串类型的属性 String Dname ,以及另一个字符串类型的属性 String Loc 。还有之前提到过一个类中虽然可以提供无数个方法,但有一点必须要记住那就是必须提供无参

image.png

class Dept { // 类名称可以明确描述出某类事物
} 
public class JavaDemo {
public static void main(String args[]){
}
}

image.png

class Dept { // 类名称可以明确描述出某类事物 
private long deptno ; 
private string dname ; 
private string loc ;
}
public class JavaDemo {
public static void main(String args[]){
}
}

实际上现在已经留下了不少疑问。第一个问题是关键字 New 到底做了什么?第二个问题是 GC 是如何工作的?第三个问题是为什么需要 Setter  Getter 方法?第四个问题为什么要无参构造方法?不过无论是否存在无参构造方法都可以提供其他类型的构造方法。例如可以提供一个有参构造方法


现在再为 String Loc 添加一个属性,叫做 This.deptno 其等于Deptno 。接着设置其他属性: This.Dname 等于 dname This.loc 等于 Loc 。现在完成这些赋值操作后,按照接下来的步骤应该开始编写 Setter  Getter 方法了。这是面向对象编程中常见的封装实践,用于控制对对象属性的访问。请记住在刚开始学习编程的时候,强烈建议大家操作代码必须要熟练掌握。


也就是说要达到这样的程度:每写完一个程序,都能保证一次性全部正确。不要觉得“老师,这个代码我写得磕磕绊绊,但一次性全对的几率有 95% ”就满足了。有的人可能会说:“老师,我写完代码后一次性全对的几率可能只有 10% ”。这样同学们的能力此消彼长,慢慢就会发现如果不能做到完全独立,即脱离任何工具去写代码,那么对语法的掌握将不会透彻。


尤其是对于初学者而言,这个过程会非常棘手。接下来跟上 Dname 直接在 Return 后面跟上 Dname ,然后再找到一个名为 StringGetLoc 的函数。之后直接在这里找到Return 语句,并将这四点关于 Loc 的信息写完。信息填写完毕后,按照之前的讨论现在需要一个返回新信息的方法,可以将其命名为GetInfo ,那么是否可以直接在其后添加部门信息呢?当然可以。


首先要找到一个名为部门编号的字段,然后加上一个 This.Teptno ,接着加上部门名称,这次使用 Dname ,最后还要找到一个叫做部门位置的字段。在添加部门位置时跟上一个标识,假设它是 This.Roc 。这样就写完了。这个过程其实很简单,并且加入这些信息其实并不复杂简单来说在这段代码中如要进行操作。首先要创建一个新的 Deptno 对象,并将其赋值给变量 DEP


例如可以给这个新对象设置一个名称,比如“技术部”,并假设其位置是“北京网上”。接下来使用 Alt.print 来打印出 DEP 对象的GetInfo 方法返回的信息。当完成这些信息的设置后将使用 Java 编译器来编译代码,并随后运行编译后的 Java 程序。如果你们能够一次性正确完成这些步骤,那就说明你们已经达到了初学者应该具备的水平。


image.png

public void setDname (String dname){
this.dname=dname;
}
public void setLoc(String loc) {
this.loc =1oc;
}
public long getDeptro()(
return this.deptno;
}
public String getDname (){
return this,dname ;
}
publia String getLoc(){
return this.loc ;
}
}
public class JavaDemo {
public statie void main(String args[]){

而且这种简单的 Java 类实际上融合了现在所接触到的几乎所有重要概念。比如数据类型的划分、类的定义、 Private 关键字的封装作用、构造方法的实现以及方法的定义和对象的实例化等。


在整个过程中是不是基本上已经接触到了所有可能的关键要素?因此可以说简单的 Java 程序虽然易于理解,但它却涵盖了编程的基础,这一点非常重要。所以请务必重视这些基础知识,不要到了需要应用时却写不出来。

image.png

class Dept {  // 类名称可以明确描述出某类事物 
private long deptno ; 
private string dname; 
private String loc ;
public Dept() {}  // 必须提供有无参
public Dept(long deptno,string dname,String loc) {
this.deptno =deptno; 
this,dname =dname; 
this.loc=loc;
}
public String getInfo(){
return".[部门信息]部门编号:"+ this.deptno +"、部门名称:
}
public void setDeptno(long deptno){
this .deptno =deptno;
 }
public void setDname(String dname) {
this .dname =dname ;
相关文章
|
12天前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
112 0
|
2月前
|
Java API Maven
2025 Java 零基础到实战最新技术实操全攻略与学习指南
本教程涵盖Java从零基础到实战的全流程,基于2025年最新技术栈,包括JDK 21、IntelliJ IDEA 2025.1、Spring Boot 3.x、Maven 4及Docker容器化部署,帮助开发者快速掌握现代Java开发技能。
396 1
|
9天前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
162 101
|
9天前
|
安全 Java 开发者
Java记录类:简化数据载体的新方式
Java记录类:简化数据载体的新方式
179 100
|
9天前
|
Java 开发者
Java并发编程:CountDownLatch实战解析
Java并发编程:CountDownLatch实战解析
267 100
|
2月前
|
数据采集 JSON Java
Java爬虫获取1688店铺所有商品接口数据实战指南
本文介绍如何使用Java爬虫技术高效获取1688店铺商品信息,涵盖环境搭建、API调用、签名生成及数据抓取全流程,并附完整代码示例,助力市场分析与选品决策。
|
2月前
|
安全 IDE Java
Java记录类型(Record):简化数据载体类
Java记录类型(Record):简化数据载体类
296 120
|
2月前
|
缓存 安全 Java
Java反射机制:动态操作类与对象
Java反射机制是运行时动态操作类与对象的强大工具,支持获取类信息、动态创建实例、调用方法、访问字段等。它在框架开发、依赖注入、动态代理等方面有广泛应用,但也存在性能开销和安全风险。本文详解反射核心API、实战案例及性能优化策略,助你掌握Java动态编程精髓。
|
2月前
|
存储 安全 Java
Java集合框架(一):List接口及其实现类剖析
本文深入解析Java中List集合的实现原理,涵盖ArrayList的动态数组机制、LinkedList的链表结构、Vector与Stack的线程安全性及其不推荐使用的原因,对比了不同实现的性能与适用场景,帮助开发者根据实际需求选择合适的List实现。
|
2月前
|
算法 Java 开发者
Java流程控制:条件与循环结构实战
本文深入讲解编程中的流程控制结构,涵盖条件语句(if-else、switch)、循环结构(for、while、do-while)及循环控制关键字(break、continue)的使用技巧与实战案例,帮助开发者写出更清晰、高效的代码。