av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語(yǔ)言

Java類(lèi)基本構(gòu)成

時(shí)間:2025-01-22 14:14:02 java語(yǔ)言 我要投稿

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(); Listpersons = new ArrayList(); for (int i = 0; i < 10; i++) { Person p = new Person(); p.setName("name" + i); p.setAge(i*5); p.setInsertTime(new Timestamp(System.currentTimeMillis())); persons.add(p); } String str = gson.toJson(persons); System.out.println(str); Listps = gson.fromJson(str, new TypeToken<List>(){}.getType()); for(int i = 0; i < ps.size(); i++) { Person p = ps.get(i); System.out.println(p.toString()); } System.out.println(new Timestamp(System.currentTimeMillis())); }}class Person { private String name; private int age; private Timestamp Time; public String getName(){ return name; } public void setName(String name) { this.name = name; } public int getAge(){ return age; } public void setAge(int age) { this.age = age; } public Timestamp getInsertTime(){ return Time; } public void setInsertTime(Timestamp Time) { this.Time = Time; } @Override public String toString(){ return name + "t" + age + "t" + Time; }}//實(shí)現(xiàn)序列化,反序列化接口class TimestampTypeAdapter implements JsonSerializer, JsonDeserializer{ public JsonElement serialize(Timestamp src, Type arg1, JsonSerializationContext arg2) { DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS"); String dateFormatAsString = format.format(new Date(src.getTime())); return new JsonPrimitive(dateFormatAsString); } public Timestamp deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { if (!(json instanceof JsonPrimitive)) { throw new JsonParseException("The date should be a string value"); } try { DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS"); Date date = (Date) format.parse(json.getAsString()); return new Timestamp(date.getTime()); } catch (Exception e) { throw new JsonParseException(e); } }}

【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

java集合類(lèi)基本簡(jiǎn)介05-16

java File類(lèi)的基本使用方法03-08

C語(yǔ)言的基本構(gòu)成05-02