【前端學java】語法練習-工具類的封裝(13)

往期回顧:

  • 【前端學java】JAVA開發的依賴安裝與環境配置 (0)
  • 【前端學 java】java的基礎語法(1)
  • 【前端學java】JAVA中的packge與import(2)
  • 【前端學java】面向對象編程基礎-類的使用 (3)
  • 【前端學java】類中的訪問權限詳解,通俗易懂(4)
  • 【前端學java】java中final修飾符(5)
  • 【前端學java】全網最通俗易懂的JAVA抽象概念(6)
  • 【前端學java】Java中的接口和枚舉概念(7)
  • 【前端學java】java中的Object類(8)
  • 【前端學java】java 中的數組(9)
  • 【前端學java】java中的字符串操作(10)
  • 【前端學java】java中的包裝類(11)
  • 【前端學java】java中的日期操作(12)

前端中,我們經常會封裝一些常用方法

// utils.js
export function isEmpty(str){if(str === null || str ===  undefined || str === "") retrun trueretrun false
}

便于在其他文件內引入使用

// index.js
import { isEmpty } from "./utils.js"
let str = "1234"
let isHaveStr = isEmpty(str)

那么,java中我們如何封裝一些方法方便使用呢?

語法封裝的原則

Java中,沒有前端這種“對象”概念、需要面向“類”來編程,因此,我們的方法自然是定義在一個類上。但是,使用類通常需要實例對象才能使用(new 一下),這很麻煩。

所以,我們的工具類在設計時,方法和屬性應該聲明為靜態的,可以直接使用。

我們復習一下類的靜態成員靜態方法的概念:

靜態成員

靜態變量是與類關聯的變量,可以理解為類自身的屬性,實例對象是木有的。靜態變量可以用類名直接訪問,而不需要創建類的實例。例如:

public class MyClass { static int count }

使用類名訪問靜態成員變量。例如:MyClass.count = 10;

靜態方法

靜態方法是與類關聯的方法。與靜態變量一樣,無需創建類的實例即可訪問靜態方法。

使用類名調用靜態方法。例如:MyClass.printMessage();


再者,工具類對外提供的屬性或方法應該是公共的,所以用public聲明。

封裝示例

我們封裝一個字符串的工具類、提供空值判斷生成隨機字符串等功能

空值判斷

package 工具類;public class My_Utils {public static void main(String[] args) {}
}// 封裝一個字符串工具類class StringUtil {// 非空判斷public static boolean isEmpty(String str){if (str == null || "".equals(str.trim())){return  true;}return  false;}
}

這個示例代碼非常簡單,里面有幾個小概念,我們先熟悉下

  • 在Java中,=== 符號并不存在、也沒有undefined這個概念
  • Java使用 == 操作符來比較兩個值是否相等,當比較兩個基本數據類型(如 int、char、double 等時,== 操作符的效果是相同的
  • 在比較兩個對象的內容是否相等時,不能使用 == 操作符!在Java中,對象比較的是它們的引用,而不是它們的值。在這種情況下,你應該使用 ****.equals() ****方法來比較兩個對象的內容
  • trim()方法用于刪除字符串開頭和結尾的空白字符(包括空格、制表符、換行符等)。這個方法是從java.lang.String類中繼承的。
  • String類的equals()方法被用于比較兩個字符串是否相等。這個方法會判斷兩個字符串的內容是否完全相同。

我們驗證下

嗯,非常絲滑~

生成隨機字符串

java中生成uuid非常簡單,借助UUID這個類就可以

package 工具類;import java.util.UUID;public class My_Utils {public static void main(String[] args) {System.out.println(StringUtil.makeString());  // 打印結果:ec2443d4-da6f-48d8-8055-1fa1e67eec8d}
}
// 封裝一個字符串工具類
class StringUtil {public static String makeString(){return UUID.randomUUID().toString();}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161018.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161018.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161018.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java.net.UnknownHostException: eureka

java.net.UnknownHostException: eureka 哦。HOST漏了 #linux /etc/hosts #windows C:\Windows\System32\drivers\etc\hosts 127.0.0.1 eureka7000 127.0.0.1 eureka7001 127.0.0.1 eureka7002

maven打包可執行jar含依賴lib

修改pom.xml <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!-- jdk8可用&#xff0c;其他jdk版本可能需改插件版本 --><version>2.3.7.RE…

sql調優

慢查詢 SQL 治理方案 一、SQL 性能下降的原因 在對 SQL 進行分析之前&#xff0c;需要明確可能導致 SQL 執行性能下降的原因進行分析&#xff0c;執行性能下降可以體現在很多方面&#xff1a; 查詢語句寫的爛索引沒加好表數據過大數據庫連接數不夠查詢的數據量過大被其他慢s…

MyBatisPlus代碼生成

基礎依賴 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.…

visual studio 如何建立 C 語言項目

安裝這個 模塊。 新建 空項目 創建完成 寫demo 點擊運行&#xff1a;

【1day】泛微e-office OA系統user_page接口未授權訪問漏洞學習

注:該文章來自作者日常學習筆記,請勿利用文章內的相關技術從事非法測試,如因此產生的一切不良后果與作者無關。 目錄 一、漏洞描述 二、影響版本 三、資產測繪 四、漏洞復現

Web項目從Tomcat遷移到TongWeb

注意事項 1. 使用JNDI方式獲取數據源&#xff1a; ①在TongWeb創建JDBC連接池; ②修改Web項目數據源配置. #spring.datasource.urljdbc:mysql://127.0.0.1:3306/demo #spring.datasource.usernametest #spring.datasource.passwordspring.datasource.jndi-namedemo2. 修…

Spring cloud - Hystrix源碼

其實只是Hystrix初始化部分&#xff0c;我們從源碼的角度分析一下EnableCircuitBreaker以及HystrixCommand注解的初始化過程。 從EnableCircuitBreaker入手 我們是通過在啟動類添加EnableCircuitBreaker注解啟用Hystrix的&#xff0c;所以&#xff0c;源碼解析也要從這個注解…

最新PHP熊貓頭圖片表情斗圖生成源碼

這是一款能生成熊貓頭表情斗圖的自適應系統源碼&#xff0c;無論是在電腦還是手機上都可以正常使用&#xff01;這個源碼集成了搜狗搜索圖片接口&#xff0c;可以輕松地一鍵搜索數百萬張圖片&#xff0c;并且還包含了表情制作等功能模塊。對于一些新站來說&#xff0c;這是一個…

Cloud微服務

當我們談論“云微服務”時&#xff0c;通常是指基于云計算和微服務架構的應用程序開發和部署模型。以下是關于云微服務的一些詳細信息&#xff1a; 微服務架構&#xff1a; 微服務架構是一種軟件設計和開發模式&#xff0c;將應用程序劃分為一組小型、獨立的服務單元。每個服…

c++ LRU(最近最少使用)緩存機制

// LRU(最近最少使用)緩存機制 #ifndef _ZD_LRU_CACHE_H_ #define _ZD_LRU_CACHE_H_#include <unordered_map> #include <list> #include <mutex>class ZDLRUCahce { public:ZDLRUCahce(int capacity): m_capacity(capacity){}~ZDLRUCahce(){}// 1.key不存在…

JavaScript的過濾大師:深度解析Filter用法

JavaScript的過濾大師&#xff1a;深度解析Filter用法 前言基礎篇filter的基本用法語法示例 自定義過濾函數數組對象的過濾復雜條件的篩選常見應用場景性能優化注意性能的建議在大規模數據集下的優化方法 案例分析實際案例&#xff1a;用戶篩選使用 filter 方法解決問題代碼優化…

產品工程師工作的職責十篇(合集)

一、崗位職責的作用意義 1.可以最大限度地實現勞動用工的科學配置; 2.有效地防止因職務重疊而發生的工作扯皮現象; 3.提高內部競爭活力&#xff0c;更好地發現和使用人才; 4.組織考核的依據; 5.提高工作效率和工作質量; 6.規范操作行為; 7.減少違章行為和違章事故的發生…

好視通視頻會議系統(fastmeeting) toDownload.do接口存在任意文件讀取漏洞復現 [附POC]

文章目錄 好視通視頻會議系統(fastmeeting) toDownload.do接口存在任意文件讀取漏洞復現 [附POC]0x01 前言0x02 漏洞描述0x03 影響版本0x04 漏洞環境0x05 漏洞復現1.訪問漏洞環境2.構造POC3.復現 0x06 修復建議 好視通視頻會議系統(fastmeeting) toDownload.do接口存在任意文件…

超詳細!新手必看!STM32-通用定時器簡介與知識點概括

一、通用定時器的功能 在基本定時器功能的基礎上新增功能&#xff1a; 通用定時器有4個獨立通道&#xff0c;且每個通道都可以用于下面功能。 &#xff08;1&#xff09;輸入捕獲&#xff1a;測量輸入信號的周期和占空比等。 &#xff08;2&#xff09;輸出比較&#xff1a;產…

Gradle常用命令與參數依賴管理和版本決議

一、Gradle 常用命令與參數 本課程全程基于 Gradle8.0 環境 1、Gradle 命令 介紹 gradle 命令之前我們先來了解下 gradle 命令怎么在項目中執行。 1.1、gradlew gradlew 即 Gradle Wrapper&#xff0c;在學習小組的第一課時已經介紹過了這里就不多贅述。提一下執行命令&am…

.Net6使用WebSocket與前端進行通信

1. 創建類WebSocketTest&#xff1a; using System.Net.WebSockets; using System.Text;namespace WebSocket.Demo {public class WebSocketTest{//當前請求實例System.Net.WebSockets.WebSocket socket null;public async Task DoWork(HttpContext ctx){socket await ctx.We…

為UE和Unity開發者準備的Godot指南

為UE和Unity開發者準備的Godot指南 ——兩位大哥打架&#xff0c;請帶上我 這兩天游戲行業又開始熱鬧了&#xff0c;昨天兩條信息直接刷爆朋友圈&#xff0c;最大的兩家游戲引擎公司懟起來了。 《為Unity開發者準備的虛幻引擎指南》&#xff1a; 為Unity開發者準備的虛幻引擎指…

sso 四種授權模式

單點登錄 單點登錄&#xff0c;英文是 Single Sign On&#xff08;縮寫為 SSO&#xff09;。即多個站點共用一臺認證授權服務器&#xff0c;用戶在站點登錄后&#xff0c;可以免登錄訪問其他所有站點。而且&#xff0c;各站點間可以通過該登錄狀態直接交互。例如&#xff1a; …