String 字符串类
System 可得到系统信息
StringBuilder 字符串工具类
Thread 线程类
Math 与数学有关的工具类
ArrayList 底层用数组实现的集合
LinkedList 底层用链表实现的集合
HashMap 接口Map的一个实现类
HashSet 接口Set的一个实现类
Scanner 简单文本扫描器
Calendar 日期类
Date 日期类
File 目录或文件操作类
FileInputStream 输入流
FileOutputStream 输出流
PrintWriter
BufferedInputStream 具有缓冲的输入流
BufferedOutputStream 具有缓冲的输出流
BufferedReader 从字符输入流中读取文本,缓冲各个字符,
BufferedWriter 将文本写入字符输出流,缓冲各个字符
我们使用关键字class来声明一个类。
通常定义class的形式如下所示:class classname { type instance-varable1; type instance-varable2; //。
type instance-varableN; type metbodname1(parameter-list) { //body of method } type metbodname2(parameter-list) { //body of method } //。
type metbodnameN(parameter-list) { //body of method }} 在一个class中定义的数据或叫变量叫做实例变量。代码包含在方法中。
总体来说,类中定义的方法和变量叫做该类的成员。在大部分类中,实例变量由该类所定义的方法调用和访问。
因此,这就决定了类中的数据如何被使用。所有的方法都在类中声明,并且通常都具有如下形式: type name(parameter-list) { //body of method } 在这里,type指定了由方法返回的数据类型。
它可以是任意有效的类型,包括你创建的类类型。 如果方法没有返回值,则其返回类型必须是void。
方法的名字由name指定。这个名字可以是除了那些在当前作用域中已经使用的标识符之外的任意合法标识符。
parameter-list是类型、标识符对组成的序列,每对之间用逗号分开。参数实际上是方法被调用时接收传递过来的参数值的变量。
如果方法没有参数,则参数表就是空的。除了返回void方法外,那些具有返回类型的方法使用下面的返回语句形式对调用他们的程序返回一个值。
return value;value是返回值。下面是一个简单的类的例子:class Sameple { int a,b; int sum() { return a+b; }}声明类的对象 每当创建一个类时,就是在创建一个新的数据类型,可以用这个数据类型去声明这种类型的对象。
然而,获得一个类的对象一般分两步进行。首先,必须声明这个类型的一个变量,这个变量并没有定义对象本身,而仅仅是一个可以指向对象的变量。
第二步,必须获得这个对象的一个实际的物理拷贝,并将其赋给已声明的那个变量。使用new运算完成这一步。
new运算符为对象动态分配(即在程序运行时分配)内存,并为其返回一个引用。 该引用或多或少的是由new分配给对象的内存的地址。
然后该引用被保存在变量中。因此,JAVA中所有类的对象一定是动态分配的。
下面是一个创建Sample类(前面定义的)对象的例子:Sample ob = new Sample(); 这条语句将刚才提到的两步合二为一了。 可以重新写成下面这样一来,更清楚的表示出2步:Sample ob;ob = new Sample(); 一旦得到一个类对象,就可以使用“。
“运算符访问其成员。下面是通常的形式:object-name。
member-name 如,给ob的成员a赋值10,使用下面语句:ob。 a = 10;构造函数 构造函数在创建对象时立即对其进行初始化。
构造函数与它所在的类具有相同的名字,在语句构成上与方法类似。然而,构造函数没有返回值,甚至也不返回void。
这是因为类的构造函数隐含的返回类型是类类型本身。初始化对象的内部状态,以便使代码创建实例时有一个完全初始化的、可用的对象是构造函数的任务。
构造函数可以有参数,这些参数接收创建对象时传递给构造的参数。典型情况下,包含在构造函数参数中的这些值用于初始化对象。
当创建每个对象的时候,传递给构造函数的参数即被指定。例如,下面是一个加到Sample类中有参数的构造函数的例子。
class Sample { int a,b;// constructorSample(int x,int y) { a = x; b = y;}int sum() { return a+b;}。
这个从关键字来理解啊,
1. 如果方法定义前面加final,说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。
2. 如果方法定义前面加static,表示静态方法,方法和类关联,直接由类名来调用。
3. 如果方法定义前面加abstract,表示抽象方法,由继承类来实现。
4. 对于方法前面的public, private,protected等这些是控制方法可以被调用的范围。
5. 如果方法定义前面有native,Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法。因为在外部实现了方法,所以在java代码中,就不需要声明了,有点类似于借口方法,一般用不着。
6.如果方法定义前面加synchronized,表示当前方法体是一个临界区,通过锁机制来控制多个线程同步,在多线程应用里面经常使用。
Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。
这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。
Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。Class没有公共构造方法。
Class对象是在加载类时由Java虚拟机以及通过调用类加载器中的defineClass方法自动构造的,因此不能显式地声明一个Class对象。虚拟机为每种类型管理一个独一无二的Class对象。
也就是说,每个类(型)都有一个Class对象。运行程序时,Java虚拟机(JVM)首先检查是否所要加载的类对应的Class对象是否已经加载。
如果没有加载,JVM就会根据类名查找.class文件,并将其Class对象载入。基本的Java类型(boolean、byte、char、short、int、long、float和double)和关键字void也都对应一个Class对象。
每个数组属于被映射为Class对象的一个类,所有具有相同元素类型和维数的数组都共享该Class对象。一般某个类的Class对象被载入内存,它就用来创建这个类的所有对象。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:3.398秒