亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

Java類基本構(gòu)成

時間:2024-05-11 14:46:02 java語言 我要投稿

Java類基本構(gòu)成

  Java是一種可以撰寫跨平臺應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計語言。下面是小編為大家整理的Java類基本構(gòu)成,希望對你有幫助。

  1、包:(package)類名管理空間,由于Java編譯器為每個類生成字節(jié)碼文件,且文件名與類名相同,因此同名的類可能發(fā)生沖突,所以引入了包的概念。

  A:包提供了一種命名機制和可見性限制機制;在java中將功能相似類用一個包來進行管理

  B:定義一個包package定義,若要定義包,則類的第一行必須無空格,業(yè)務(wù)注釋;如:package+包名。包名通常都由小寫字母組成。

  2、引入:(import)import語句在功能上與C/C++語言中的include語句相同

  A:兩者之間的不同點:

  a、Include是包含外部文件,import是輸入外部類,

  b、import末尾必須以“;”結(jié)尾。

  B:import語句必須放在package之后,若沒有package,則該語句放在類文件名的開頭;

  C:若要引入某一個類,必須寫完整的包名和類名;如:importpackage.classname

  3、類:(class)類是java程序的基本單位,類的實例是對象。

  A:若在源程序中包含有公共類的定義,則該源文件名必須與公共類的名字完全一致,否則編譯時就會報錯。

  B:在一個java源程序中至多只能有一個公共類的定義。

  C:若在一個源程序中有多個類定義,則在編譯時將為每個類生成一個.class文件

  4、變量:(variable)一個類中通常都包含數(shù)據(jù)和函數(shù)兩種類型的元素,一般把它們稱為變量和成員函數(shù);也把成員函數(shù)成為方法。

  將數(shù)據(jù)和代碼通過類結(jié)合在一起,就行成了封裝的概念。

  變量也叫做域,它是用于定義屬性類的數(shù)據(jù),這些數(shù)據(jù)是用來描述對象的狀態(tài),方法就是對這個數(shù)據(jù)進行操作。

  5、方法:(method)指引類進行具體的活動和操作

  6、注釋:java注釋分為三種

  A:單行注釋:用//表示

  B:多行注釋:用/*.................................................*/表示

  C:文檔注釋:用/**.................................................*/表示

  拓展閱讀

  一、使用場景:

  java對象和json字符串的相互轉(zhuǎn)換;日志輸出。

  例如:

  Logger logger = Logger.getLogger(CommonAction.class);Gson g = new Gson();logger.info(“return:”+g.toJson(map));

  二、用法舉例:

  1.基礎(chǔ)用法toJson

  toJason()方法將對象轉(zhuǎn)換成Json字符串

  Gson gson = new Gson();List persons = new ArrayList();String str = gson.toJson(persons);

  2.基礎(chǔ)用法:fromJson()

  Gson提供了fromJson()方法來實現(xiàn)從Json字符串轉(zhuǎn)化為到j(luò)ava實體的方法。

  比如json字符串為:

  [{“name”:”name0”,”age”:0}]

  則:

  Person person = gson.fromJson(str, Person.class);

  提供兩個參數(shù),分別是json字符串以及需要轉(zhuǎn)換對象的類型。

  3.避免Unicode轉(zhuǎn)義

  例如: {"s":"u003c"} 我只想簡單的打印成這樣 {"s":"<"} 解決方案: 我只需要 disable HTML escaping. Gson gson = new

  GsonBuilder().disableHtmlEscaping().create();

  4.排除某些字段

  如果一個類A中含有字段field1,它的父類也含有字段field1,那么A對象toJson的時候,就會發(fā)生declares multiple JSON fields named field1。 解決方案1:在類A中去掉字段filed1. 解決方案2:使用Json的@Expose注解 將A類MessageText中需要打印的字段filed1加上注解@Expose 。那么父類中沒有加注解的field1就會被排除掉。

  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è)置將類型的屬性進行格式轉(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; }}//實現(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類基本構(gòu)成】相關(guān)文章:

Java類的基本構(gòu)成08-28

計算機二級入門教程:Java類的基本構(gòu)成06-19

C語言的基本構(gòu)成10-19

Java語言的基本特點07-30

java selenium基本教程09-27

Java語言基本概述10-15

Java語言基本特點06-01

Java代碼的基本知識10-09

java語言類的嵌入08-01

java類加載器09-12