java类的基本构成

Java类基本构成

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。下面是为大家整理的Java类基本构成,希望对你有帮助。

1、包:(package)类名管理空间,由于Java编译器为每个类生成字节码文件,且文件名与类名相同,因此同名的类可能发生冲突,所以引入了包的概念。

A:包提供了一种命名机制和可见性限制机制;在java中将功能相似类用一个包来进行管理

B:定义一个包package定义,若要定义包,则类的第一行必须无空格,业务注释;如:package+包名。包名通常都由小写字母组成。

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

A:两者之间的不同点:

a、Include是包含外部文件,import是输入外部类,

b、import末尾必须以“;”结尾。

B:import语句必须放在package之后,若没有package,则该语句放在类文件名的开头;

C:若要引入某一个类,必须写完整的包名和类名;如:importpackage.classname

3、类:(class)类是java程序的基本单位,类的实例是对象。

A:若在源程序中包含有公共类的定义,则该源文件名必须与公共类的名字完全一致,否则编译时就会报错。

B:在一个java源程序中至多只能有一个公共类的定义。

C:若在一个源程序中有多个类定义,则在编译时将为每个类生成一个.class文件

4、变量:(variable)一个类中通常都包含数据和函数两种类型的元素,一般把它们称为变量和成员函数;也把成员函数成为方法。

将数据和代码通过类结合在一起,就行成了封装的概念。

变量也叫做域,它是用于定义属性类的数据,这些数据是用来描述对象的状态,方法就是对这个数据进行操作。

5、方法:(method)指引类进行具体的活动和操作

6、注释:java注释分为三种

A:单行注释:用//表示

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

C:文档注释:用/**.................................................*/表示

拓展阅读

一、使用场景:

java对象和json字符串的相互转换;日志输出。

例如:

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

二、用法举例:

1.基础用法toJson

toJason()方法将对象转换成Json字符串

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

2.基础用法:fromJson()

Gson提供了fromJson()方法来实现从Json字符串转化为到java实体的方法。

比如json字符串为:

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

则:

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

提供两个参数,分别是json字符串以及需要转换对象的类型。

3.避免Unicode转义

例如: {"s":"u003c"} 我只想简单的.打印成这样 {"s":"<"} 解决方案: 我只需要 disable HTML escaping. Gson gson = new

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

4.排除某些字段

如果一个类A中含有字段field1,它的父类也含有字段field1,那么A对象toJson的时候,就会发生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(); //设置将类型的属性进行格式转换 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; }}//实现序列化,反序列化接口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类的基本构成

转载请注明出处记得学习 » java类的基本构成

学习

自家wifi连接不上了怎么办

阅读(144)

本文为您介绍手机无法连接wifi和热点怎么办,内容包括自家wifi连接不上了怎么办,手机wifi找不到了想要连接的网络,手机怎么把连接的wifi分享成热点。手机wifi热点连接不上怎么办教程教程是某一学科的课程,主要是被用来引导用户理解相关知

学习

小米手机连接不上电脑怎么办啊

阅读(111)

本文为您介绍小米手机连接不上电脑怎么办,内容包括小米手机连接不上电脑怎么办啊,手机wifi连不上怎么办小米,怎么让小米手机跟电脑无缝连接。小米手机连接不上电脑怎么办使用过小米手机的用户反映自己用小米手机连接电脑时偶尔会出现连

学习

在电脑上小米助手连接不上手机

阅读(185)

本文为您介绍小米助手连接不上手机如何解决,内容包括在电脑上小米助手连接不上手机,小米助手连接不上手机怎么办,重启手机清除数据连接小米助手。小米助手连接不上手机如何解决我身边有挺多使用小米手机的朋友,最常听到他们讨论的就是小

学习

王者荣耀杨戬出装教程

阅读(102)

本文为您介绍王者荣耀杨戬肉盾出装,内容包括王者荣耀杨戬出装教程,肉装疾跑流杨戬出装,肉盾杨戬。王者荣耀杨戬肉盾出装导语:王者荣耀是当今最热门的游戏之一,在之前的杨戬算是一个比较冷门的英雄,但随着KPL的开展,杨戬逐渐热门了起来。在S7

学习

扬字成语大全

阅读(129)

本文为您介绍扬字成语,内容包括扬字成语大全,扬字成语寓意好的,扬字成语开头的成语。扬字成语成语在语言表达中有生动简洁、形象鲜明的作用。它的本身就有不少比喻和对比以及加重的措辞方法。成语有多种意义,所以文学家对成语的运用都非

学习

运动会投稿大全免费

阅读(92)

本文为您介绍运动会投稿大全,内容包括运动会投稿大全免费,运动会投稿大全100字以内,运动会投稿句子。运动会投稿大全运动会指体育运动的竞赛会,有奥运会等大型运动会,只是范围不同。下面是为大家收集的运动会投稿大全,欢迎阅读与收藏。运动

学习

扬竿标准动作

阅读(182)

本文为您介绍钓鱼扬竿技巧,内容包括扬竿标准动作,钓鱼扬竿的正确动作,扬竿钓鱼的技巧。钓鱼扬杆的技巧扬竿,是指在钓鱼的过程中,鱼在咬钩的时候,钓者抬臂扬竿将鱼钩住的腥味,也是对钓者扬竿技术的考验。使用何种扬竿方式,除了个人习惯外,还需

学习

开字开头的成语大全集

阅读(127)

本文为您介绍开字开头的成语,内容包括开字开头的成语大全集,开字开头的成语接龙大全集,开字开头的成语大全。开字开头的成语成语是中国传统文化的一大特色,有固定的结构形式和固定的说法,表示一定的意义,在语句中是作为一个整体来应用的,承

学习

桌布尺寸怎么选

阅读(235)

本文为您介绍教你如何选择桌布尺寸,内容包括桌布尺寸怎么选,桌布台布有样品吗,桌布尺寸怎样合适。教你如何选择桌布尺寸桌布是搭配桌子使用的专用品。桌布一来能使桌子保持洁净,二来可以装饰桌子,起到画龙点睛的作用。要选择一个合适的桌

学习

勇敢追求爱情短句

阅读(95)

本文为您介绍真心爱情的短语,内容包括勇敢追求爱情短句,爱情期许经典句子,没道理的爱情经典语录。痴心绝对的爱情短语集锦无论是身处学校还是步入社会,大家都收藏过自己喜欢的句子吧,从表达的角度说,句子是最基本的表述单位。那什么样的句

学习

不解之缘造句怎么造

阅读(107)

本文为您介绍不解之缘怎样造句,内容包括不解之缘造句怎么造,用兴致勃勃和不解之缘造句,不解之缘造句。不解之缘怎样造句在日常的学习、工作、生活中,大家都跟造句打过交道吧,造句是一种言语活动,具有高度的综合性和创造性。还是对造句一筹

学习

未来的跑车作文

阅读(92)

本文为您介绍未来的跑车作文,内容包括未来的跑车作文500字,未来汽车优秀作文,未来汽车作文集合15篇。未来的跑车作文2篇在生活、工作和学习中,许多人都有过写作文的经历,对作文都不陌生吧,作文是人们以书面形式表情达意的言语活动。相信很

学习

跑车拉客广告词创意大全

阅读(115)

本文为您介绍跑车广告宣传词,内容包括跑车拉客广告词创意大全,李嫣,跑车广告文案100条。跑车创意广告词(通用100句)在平平淡淡的学习、工作、生活中,大家总少不了接触一些耳熟能详的广告词吧,借助广告词可向消费者传达产品或品牌的核心概念

学习

南京南京观后感以上

阅读(99)

本文为您介绍南京南京观后感,内容包括南京南京观后感400字以上,南京南京观后感500字作文,南京南京观后感字。《南京,南京》观后感认真看完一部作品以后,相信大家有很多值得分享的东西吧,是时候静下心来好好写写观后感了。观后感你想好怎么

学习

黄河一掬阅读理解讲解

阅读(142)

本文为您介绍黄河一掬阅读答案,内容包括黄河一掬阅读理解讲解,黄河一掬阅读感悟,黄河一掬主要讲了什么。关于《黄河一掬》阅读答案阅读题作为语文考试中的重要一部分,提高阅读题得分能力,多做课外阅读题是一件很有帮助的事情。以下是整理

学习

高贵的生命不卑微题目的理解

阅读(101)

本文为您介绍高贵的生命不卑微感受200字,内容包括高贵的生命不卑微题目的理解,高贵的生命不卑微作文,高贵的生命不卑微400字作文。高贵的生命不卑微高分作文(通用8篇)在学习、工作乃至生活中,大家最不陌生的就是作文了吧,借助作文人们可以实

学习

高贵的生命不卑微阅读理解答案

阅读(132)

本文为您介绍高贵的生命不卑微阅读答案,内容包括高贵的生命不卑微阅读理解答案,高贵的生命不卑微阅读题,高贵的生命不卑微作文。《高贵的生命不卑微》阅读答案无论是在学校还是在社会中,我们都经常看到阅读答案的身影,阅读答案是我们解答

学习

谦卑的人有福阅读理解答案

阅读(115)

本文为您介绍谦卑的人有福阅读答案,内容包括谦卑的人有福阅读理解答案,谦卑的人有福了圣经,谦卑的人有福出自圣经。《谦卑的人有福》阅读答案语文阅读在平时测试、期末考试中都占有很大的比重,所以,多做一些阅读练习,不仅能熟能生巧,轻松应

学习

如何理解国际物流它有什么特点

阅读(136)

本文为您介绍国际物流业务的主要流程,内容包括如何理解国际物流它有什么特点,国际物流的特点有哪些,汽车备件物流的主要特点及问题。国际物流的主要特点是什么国际物流是指在两个或两个以上国家(或地区)之间所进行的物流。以下是百分网分

学习

一个车夫巴金阅读理解答案

阅读(97)

本文为您介绍一个车夫阅读答案,内容包括一个车夫巴金阅读理解答案,一个车夫阅读理解,一个车夫赶着一辆马车正确答案。一个车夫阅读答案《一个车夫》是巴金写的一篇散文,下面要为大家分享的就是一个车夫阅读答案,希望你会喜欢!《一个车夫》

学习

有关鲨鱼的阅读理解

阅读(118)

本文为您介绍有关鲨鱼阅读答案,内容包括有关鲨鱼的阅读理解,鲨鱼短文阅读答案,鲨鱼节选阅读理解答案。有关鲨鱼阅读答案导语:种子不落在肥土而落在瓦砾中,有生命力的种子决不会悲观和叹气,因为有了阻力才有磨炼。以下为大家介绍有关鲨鱼阅

学习

动物的睡眠阅读理解答案

阅读(232)

本文为您介绍动物的睡眠阅读理解,内容包括动物的睡眠阅读理解答案,动物的睡眠阅读答案小学四年级,动物的睡眠姿势有哪些。《动物的睡眠》阅读理解学习语文,是一个阅读、思考、写作相结合的过程,读读、思思、写写多结合才能提高学习效率。