1.系统相关类

Java提供了System类和Runtime类来与程序运行的平台进行交互

A.System类代表当前Java程序的运行平台

a. System类是一个final类,该类的所有属性和方法都是静态的。可以不创建对象直接调用

b.属性:in 、out 、err

c.常用方法: currentTimeMillis()、exit()、getProperties()、 gc()

B. Runtime类代表Java程序的运行时环境

注意: 应用程序不能创建自己的Runtime实例,但是可以通过Runtime类的静态方法getRuntime()获取与之关联的Runtime对象

a. 当前处理器数量:rt.availableProcessors()

b. 空闲内存数:rt.freeMemory()

c. 总内存数:rt.totalMemory()

d. 可用最大内存数:rt.maxMemory()

2.字符串相关类

Java中提供了String、StringBuffer、StringBuilder等类来封装字符串,这几个类又提供了大量操作字符串对象的方法

注意: Java中字符串的每一个字符都有一个索引值,索引值从0开始,每个字符串对象都拥有一个length()方法

方法:  length()、charAt()、indexOf()、subString()

A. String类

String类包含了一个不可变的字符串。一旦一个String对象被创建,包含在这个对象中的内容就是不可改变的,直至这个对象被销毁

创建String对象的方式:a. String str = new String(“hello”);    b. String str = “hello”;

B. StringBuffer类:允许内容改变

创建StringBuffer对象的方式:

a. StringBuffer str = new StringBuffer(“”);str.append(“world”);

C. StringBuilder类

a. StringBuilder是StringBuffer类的轻量版,StringBuffer所拥有的方法StringBuilder基本都有

b. StringBuilder是线程不安全的,StringBuffer是线程安全的

c. 性能:StringBuilder > StringBuffer > String

3. 日期相关类

Java 语言中提供了一系列类共同组成了标准日期时间处理类。其中日期数据类型位于java.util包中,而日期格式化类位于java.text包中

A. SimpleDateFormat类:继承于DateFormat

将一个时间对象翻译成自定义格式的字符串,将一个自定义格式的字符串翻译成时间对象

B. Calendar抽象类与GregorianCalendar类

java.util.GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家使用的标准日历系统,使用 GregorianCalendar 类来获取时间,而不是使用Date类

注意: 由于SimpleDateFormat类只支持Date类型的对象,所以如果想对GregorianCalendar类的对象进行格式化,必须先掉哟个GregorianCalendar对象的getTime()方法,再对其进行操作

4. 数学运算相关类

A. Math类是一个数学工具类,在Java语言中,常用的数学常数和数学方法都在该类内部,而且无论是常数还是方法都是static类型的,可以直接通过“Math.方法名()”进行调用,方便程序员进行实际的使用

B. Random类做为随机数生成器

5. 常用包装类

A. Java语言中分为基本数据类型和引用数据类型。在有些应用中要求不能使用基本数据类型,必须使用引用数据类型

B. Java语言为我们提供了与基本数据类型相对应的包装类:

byte   ----  Byte类

short  ----  Short 类

int   ----   Integer类

long  ----  Long类

float  ----  Float类

double----  Double类

boolean--  Boolean类

char  ----  Character类

C. 包装类的共同点:

包装类中包含的值不可变,都具有:XXXValue() 方法、 valueOf() 方法、都有两个构造方法

6. 正则表达式:是使用特定的符号来描述该组字符串的一种方法。 即:正则表达式就是一个字符串模板 ,其本身也是一个字符串,使用String的matches( )进行匹配

7. 类的加载机制

A. 类加载的步骤:

a. 类加载:由类加载器完成,类的class文件读入内存后,就会创建一个java.lang.Class对象。一旦某个类被载入JVM中,同一个类就不会再次被载入

b. 连接:把类的二进制数据合并到JRE中

c. 初始化:JVM负责对类进行初始化,也就是对静态属性进行初始化。在Java类中,对静态属性指定初始值的方式有两种:(1)声明静态属性时指定初始值;(2)使用静态初始化块为静态属性指定初始值。

8. 反射

Java的反射技术是java程序的特征之一,它允许运行中的Java程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性,使用反射可以获得Java类中各个成员的名称并显示出来。简单的说,反射就是让你可以通过名称来得到对象(类,属性,方法)的技术

A. 反射使用步骤:

a. 获得类的 java.lang.Class 对象

1). 获得Class对象的方式:

方式一: Class c = Class.forName(strg);

方式二:Class c = JButton.class;  或者         Class c = Integer.TYPE;

方式三:Class c = 对象名.getClass();

b. 探究类的信息:一个类通常由三部分组成——属性、普通方法、构造方法

1). Filed类:提供有关类或接口的属性信息

Filed类常用方法:

Field  getField(String name)  获得指定的公共字段

Field[]  getFields()  获得类的所有公共字段

Field getDeclaredField(String name) 获得指定的字段

Field[]  getDeclaredFields()  获得类声明的所有字段

2). Constructor类:提供关于类的单个构造方法的信息以及对它的访问权限

Constructor类常用方法:

Constructor getConstructor(Class[] params) 获得使用特殊的参数类型的公共构造函数

Constructor[] getConstructors()获得类的所有公共构造函数        Constructor getDeclaredConstructor(Class[] params)获得使用特定参数类型的构造函数(与访问级别无关)

Constructor[] getDeclaredConstructors()获得类的所有构造函数(与访问级别无关)

3). Method类:提供关于类或接口上单独某个方法(以及如何访问该方法)的信息

Method类常用方法:

Method getMethod(String name, Class[] params) 使用特定的参数类型,获得命名的公共方法

Method[] getMethods() 获得类的所有公共方法

Method getDeclaredMethod(String name, Class[]params)使用特定的参数类型,获得类声明的命名的方法

Method[] getDeclaredMethods()获得类声明的所有方法

c. 使用反射API来操作这些信息

利用反射技术而进行的常用操作主要有三个:

1).通过Constructor创建对象

2).通过Method执行方法

3).通过Field为属性赋值取值

Java常用类及反射,类加载的更多相关文章

  1. Java常用类的使用

    Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if( ...

  2. Java基础 —— Java常用类

    Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...

  3. Java常用类之要点总结

    Java常用类之要点总结

  4. Java常用类:包装类,String,日期类,Math,File,枚举类

    Java常用类:包装类,String,日期类,Math,File,枚举类

  5. Java常用类学习笔记总结

    Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...

  6. Java 常用类总结(SE基础)

    本篇博客对java常用类相关知识进行了归纳总结,比较详细,适用于学习和复习. 1. 字符串相关的类 1.1 String String是一个final类,代表不可变的字符序列.不可被继承. Strin ...

  7. 处理异常、常用类、反射、类加载与垃圾回收、java集合框架

    异常处理概述 检查异常:检查异常通常是用户错误或者不能被程序员所预见的问题.(cheched) 运行时异常:运行时异常是一个程序在运行过程中可能发生的.可以被程序员避免的异常类型.(Unchecked ...

  8. JAVA异常处理、常用类、反射、集合

    异常 异常:在Java中是指被一个方法抛出的对象. 分类:检查异常.运行时异常.错误 运行时异常(uncheckd):RuntimeException和其子类 检查异常(checkd/搜检异常):指E ...

  9. Java Class类及反射机制

    java.lang.Class类 声明: public final class Class<T>extends Object implements Serializable, Generi ...

随机推荐

  1. Centos7搭建lamp环境

    首先安装apache Centos7默认已经安装httpd服务,只是没有启动. 如果需要重新安装,输入 yum install -y httpd 启动服务: systemctl start httpd ...

  2. CNN结构:Windows使用FasterRCNN-C++版本

    参考文章:Windows下VS2013 C++编译测试faster-rcnn. 本文与作者的所写方法有些许不同,欲速则不达,没有按照作者的推荐方法,绕了个弯弯. Windows版本纯C++版本的Fas ...

  3. CAD绘制一个线型标注(com接口VB语言)

    主要用到函数说明: _DMxDrawX::DrawDimRotated 绘制一个线型标注.详细说明如下: 参数 说明 DOUBLE dExtLine1PointX 输入第一条界线的起始点X值 DOUB ...

  4. Vue(八)全局变量和全局方法

    一.在main.js同级目录建立一个common.js文件 // 全局变量 const globalObj = {}; // 定义公共变量 globalObj.name = '小明'; // 定义公共 ...

  5. 计蒜客 成绩统计 (Hash表)

    链接 : Here! 思路 : 如果用 $STL$ 的 $map$ 或者是使用 $unordered\underline{}map$ 的话是会 $T$ 的, 所以得手写一个 $hash表$. 其实这个 ...

  6. python中zip( )的使用

    zip函数简单用法 x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x,y,z) #得到一个zip对象 xyz #打印结果为<zip ob ...

  7. 18/10/19 周五欢乐赛题解(c++版)

    注意本题解并没有去追求最优解,只是用比较暴力的方法求解.D题听说要改说明不是位数30位,目前除了D题可能有问题之外其他代码已经全部正确. A.查找字串 用string BF(暴力求解即可) 代码 #i ...

  8. from __future__ import absolute_import的作用

    关于这句from future import absolute_import的作用: 直观地看就是说"加入绝对引入这个新特性".说到绝对引入,当然就会想到相对引入.那么什么是相对引 ...

  9. Python 字符串和数字

    Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...

  10. Mysql双主自增长冲突处理

    Mysql双主自增长冲突处理   多主互备和主从复制有一些区别,因为多主中都可以对服务器有写权限,所以设计到自增长重复问题   出现的问题(多主自增长ID重复)  1:首先我们通过A,B的test表结 ...