Java類(lèi)基本構(gòu)成
Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。下面是小編為大家整理的Java類(lèi)基本構(gòu)成,希望對(duì)你有幫助。
1、包:(package)類(lèi)名管理空間,由于Java編譯器為每個(gè)類(lèi)生成字節(jié)碼文件,且文件名與類(lèi)名相同,因此同名的類(lèi)可能發(fā)生沖突,所以引入了包的概念。
A:包提供了一種命名機(jī)制和可見(jiàn)性限制機(jī)制;在java中將功能相似類(lèi)用一個(gè)包來(lái)進(jìn)行管理
B:定義一個(gè)包package定義,若要定義包,則類(lèi)的第一行必須無(wú)空格,業(yè)務(wù)注釋?zhuān)蝗纾簆ackage+包名。包名通常都由小寫(xiě)字母組成。
2、引入:(import)import語(yǔ)句在功能上與C/C++語(yǔ)言中的include語(yǔ)句相同
A:兩者之間的不同點(diǎn):
a、Include是包含外部文件,import是輸入外部類(lèi),
b、import末尾必須以“;”結(jié)尾。
B:import語(yǔ)句必須放在package之后,若沒(méi)有package,則該語(yǔ)句放在類(lèi)文件名的開(kāi)頭;
C:若要引入某一個(gè)類(lèi),必須寫(xiě)完整的包名和類(lèi)名;如:importpackage.classname
3、類(lèi):(class)類(lèi)是java程序的基本單位,類(lèi)的實(shí)例是對(duì)象。
A:若在源程序中包含有公共類(lèi)的定義,則該源文件名必須與公共類(lèi)的名字完全一致,否則編譯時(shí)就會(huì)報(bào)錯(cuò)。
B:在一個(gè)java源程序中至多只能有一個(gè)公共類(lèi)的定義。
C:若在一個(gè)源程序中有多個(gè)類(lèi)定義,則在編譯時(shí)將為每個(gè)類(lèi)生成一個(gè).class文件
4、變量:(variable)一個(gè)類(lèi)中通常都包含數(shù)據(jù)和函數(shù)兩種類(lèi)型的元素,一般把它們稱為變量和成員函數(shù);也把成員函數(shù)成為方法。
將數(shù)據(jù)和代碼通過(guò)類(lèi)結(jié)合在一起,就行成了封裝的概念。
變量也叫做域,它是用于定義屬性類(lèi)的數(shù)據(jù),這些數(shù)據(jù)是用來(lái)描述對(duì)象的狀態(tài),方法就是對(duì)這個(gè)數(shù)據(jù)進(jìn)行操作。
5、方法:(method)指引類(lèi)進(jìn)行具體的活動(dòng)和操作
6、注釋?zhuān)簀ava注釋分為三種
A:?jiǎn)涡凶⑨專(zhuān)河?/表示
B:多行注釋?zhuān)河?*.................................................*/表示
C:文檔注釋?zhuān)河?**.................................................*/表示
拓展閱讀
一、使用場(chǎng)景:
java對(duì)象和json字符串的相互轉(zhuǎn)換;日志輸出。
例如:
Logger logger = Logger.getLogger(CommonAction.class);Gson g = new Gson();logger.info(“return:”+g.toJson(map));
二、用法舉例:
1.基礎(chǔ)用法toJson
toJason()方法將對(duì)象轉(zhuǎn)換成Json字符串
Gson gson = new Gson();List persons = new ArrayList();String str = gson.toJson(persons);
2.基礎(chǔ)用法:fromJson()
Gson提供了fromJson()方法來(lái)實(shí)現(xiàn)從Json字符串轉(zhuǎn)化為到j(luò)ava實(shí)體的方法。
比如json字符串為:
[{“name”:”name0”,”age”:0}]
則:
Person person = gson.fromJson(str, Person.class);
提供兩個(gè)參數(shù),分別是json字符串以及需要轉(zhuǎn)換對(duì)象的類(lèi)型。
3.避免Unicode轉(zhuǎn)義
例如: {"s":"u003c"} 我只想簡(jiǎn)單的打印成這樣 {"s":"<"} 解決方案: 我只需要 disable HTML escaping. Gson gson = new
GsonBuilder().disableHtmlEscaping().create();
4.排除某些字段
如果一個(gè)類(lèi)A中含有字段field1,它的父類(lèi)也含有字段field1,那么A對(duì)象toJson的時(shí)候,就會(huì)發(fā)生declares multiple JSON fields named field1。 解決方案1:在類(lèi)A中去掉字段filed1. 解決方案2:使用Json的@Expose注解 將A類(lèi)MessageText中需要打印的字段filed1加上注解@Expose 。那么父類(lèi)中沒(méi)有加注解的field1就會(huì)被排除掉。
Gson g = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
5.換屬性名字
三、使用示例:
import java.lang.reflect.Type;import java.sql.Timestamp;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import com.google.gson.JsonDeserializationContext;import com.google.gson.JsonDeserializer;import com.google.gson.JsonElement;import com.google.gson.JsonParseException;import com.google.gson.JsonPrimitive;import com.google.gson.JsonSerializationContext;import com.google.gson.JsonSerializer;import com.google.gson.reflect.TypeToken;public class GSonDemo { public static void main(String[] args) {// Gson gson = new Gson(); //設(shè)置將類(lèi)型的屬性進(jìn)行格式轉(zhuǎn)換 Gson gson = new GsonBuilder().registerTypeAdapter(Timestamp.class, new TimestampTypeAdapter()).setDateFormat("yyyy-MM-dd HH:mm:ss").create(); List
【Java類(lèi)基本構(gòu)成】相關(guān)文章:
Java類(lèi)的基本構(gòu)成12-04
Java類(lèi)的基本構(gòu)成05-01
Java類(lèi)的基本構(gòu)成04-02
java類(lèi)的構(gòu)成08-02
計(jì)算機(jī)二級(jí)Java入門(mén)教程:Java類(lèi)的基本構(gòu)成05-30
計(jì)算機(jī)二級(jí)入門(mén)教程:Java類(lèi)的基本構(gòu)成06-19
C語(yǔ)言的基本構(gòu)成05-02