Java 基础内容简介

一.基本概念

类: 将一些具有相似属性和共同方法的事物抽象为一个类,以便于对事物进行描述.(足球,篮球,排球可以抽象为一个类 球 )

对象:一个类的具体实例.(球的一个具体事物,足球)

继承: 子类拥有父类的属性和方法,而且可以额外添加独有的属性和方法.(字体中的宋体,楷体都是继承至字体类)

组合: 一个类可以是其他类组合而成.(电脑是有CPU,显示屏,键盘等组成)

多态性: 同一种方法,每个类都有自己的实现.

消息传递:通过调用对象的方法,向对象传递消息.

二.Java 中的类定义

类:

使用 class 可以定义普通的类,从而封装一些共有的属性和方法.

抽象类:

使用 abstract 修饰符 可以定义抽象类,使用抽象类可以只定义方法体,而不提供具体的实现.抽象类不能用于创建实例.对于形状类来说,都是可以计算面积的,而每一种具体的图形,例如矩形,圆形等,计算面积的具体方法是不一样的.在应用中为了计算所有图形的面积,我们就可以通过调用它们的抽象父类计算面积的方法来实现.而不必知道它到底是何种图形.

抽象类体现的是一种模板式设计思想.

接口:

使用 interface 可以定义接口.通常接口定义类一些共同的操作规范和属性定义.它相当于系统和外界交互的窗口.

接口体现的是一种规范.

抽象类和接口都可以实现类的复用.通过”面向接口”的设计理念来降低程序的耦合.

枚举类:

使用 enum 修饰符可以创建枚举类.某些情况下,类的对象是有限的和固定的,如季节,星期,月份等.

使用枚举可以使程序更加健壮,避免创建无意义对象.

三.Java 基础类库

Scanner

封装了大量的操作以简化获取键盘输入

System

提供了代表标准输入,标准输出和错误输出的变量,可以访问系统环境变量,系统属性,加载文件和动态链接库

Runtime

代表了java的运行时环境,可以访问JVM的相关信息,例如处理器数量,内存信息等.

Object

它是java中所有类,数组的父类,所有的对象都可以向上转型为Object.Object实现的clone()方法可以用来获取对象的副本.但是这种克隆是一种”浅克隆”,它仅是克隆对象的所有成员变量值,不会对引用类型的成员变量值所引用的对象进行克隆.

Objects

工具类.这个类包含操作对象的静态实用方法。这些工具包括检验空值或计算对象的哈希码,返回一个字符串对象,比较两个对象。

String StringBuffer StringBuilder

String 是一个不可变类,一旦对象被创建它的字符序列就不可改变直到对象被销毁.它封装了许多对字符串操作的方法,例如比较,查找,连接,大小写转换,基本的正则操作等.可以通过多种方式构建字符串对象.

StringBuffer和StringBuilder的功能基本相似,都可以创建可变的字符串,而tringBuffer是线程安全的,因此在不考虑线程安全情况下,StringBuilder拥有更高的性能.

Math

提供了大量的静态方法用于复杂的数学运算.包括随机数,常量E和PI,三角函数,对数,指数运算等.

Random 和ThreadLocalRandom(1.7)

提供了多种产生随机数的方法.ThreadLocalRandom是Random的并发版.

BigDecimal 和BigInteger

高精度的浮点数运算和大整数的运算

Date和Calendar

早期的日期操作类.Date中的大部分操作都已过时.Calendar含有对日期的丰富操作

Arrays

数组操作的便捷工具类,包括排序,填充,搜索,复制比较,输出

Time包

java8新增的日期/时间处理包.包括:

Clock:获取指定地区的日期和时间.

LocalDate:不带时区的日期,可以对日期增加减少.

LocalTime:不带时区的时间,可以对时间增加减少.

MonthDay:仅用于操作月日

YearMonth:仅用于操作年月

Month:月份类,1-12月

DayOfWeek :代表星期日-星期六的枚举

ZonedDateTime: 代表一个时区化的日期,时间;

ZoneId: 代表时区

time包下的DateTimeFormatter :强大的日期时间格式化类

正则表达式操作类Pattern和Matcher

预先将正则表达式字符串转化为Pattern,然后创建Matcher对象匹配字符串内容,所有信息和状态都保存在Matcher中.详细信息查看API文档.

Properties

该类封装了读取键值对属性文件的便捷方法

国际化支持

java程序的国际化主要由以下三个类完成:

1.java.util.ResourceBundle:用于加载国家,语言资源包

2.java.util.Locale:用于封装特定国家/地区,语言环境

3.java.util.MessageFormat:用于格式化带占位符的字符串.

必须要提供资源文件,一般是.properties文件存储键值对标识界面显示字符串.

jsf和jpa 期末大作业 <%@ page language="java" import="java.util.*,dao.*,entitybean.*" pageEncoding="utf-8"%> <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <f:view> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <style type="text/css"> </style> </head> <body > <div style="position:absolute; width:100%; height:100%; z-index:-1;background-color:#2894FF;background-repeat : no-repeat;background-size:90% 90%;opacity:1"> <img src="image/re2.jpg"> <h3>人事信息管理</h3> <p style="text-align:center"> <h:outputLink value="/faces/add.jsp">添加一条</h:outputLink> <h:form> <h:dataTable value="#{loginBean.persons}" var="person" border="5" cellpadding="5" cellspacing="2"> <h:column> <f:facet name="header"> <h:outputText id="headerText1" value="职工号"/> </f:facet> <h:outputText value="#{person.id}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText2" value="姓名"/> </f:facet> <h:outputText value="#{person.name}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText3" value="性别"/> </f:facet> <h:outputText value="#{person.gender}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText4" value="年龄"/> </f:facet> <h:outputText value="#{person.age}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText5" value="国籍"/> </f:facet> <h:outputText value="#{person.address_country}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText6" value="详细地址"/> </f:facet> <h:outputText value="#{person.address_detail}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText7" value="邮编"/> </f:facet> <h:outputText value="#{person.address_zip}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText8" value="入职时间"/> </f:facet> <h:outputText value="#{person.entry_time}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText9" value="所属部门"/> </f:facet> <h:outputText value="#{person.depertment}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText10" value="职位"/> </f:facet> <h:outputText value="#{person.position}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText11" value="工资"/> </f:facet> <h:outputText value="#{person.salary}"/> </h:column> <h:column> <h:outputLink value="faces/edit.jsp" > <h:outputText value="编辑"></h:outputText> <f:param name="p_id" value="#{person.id}"/> </h:outputLink> </h:column> <h:column> <h:outputLink value="delete.jsp" > <h:outputText value="删除"></h:outputText> <f:param name="p_id" value="#{person.id}"/> </h:outputLink> </h:column> </h:dataTable> </h:form> </p> <img src="image/re.jpg"> </div> </body> </html> </f:view>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值