java学习总结

1.八大基本数据类型

byte(字节型8)   int(整型;32;程序中一般默认为int)   short(短整型 16)  long(长整型 32)   float(浮点型 32)  double(双精度浮点型 64)  char(字符型 16)  boolean(布尔型 只有truefalse)

小范围内的整数类型可以通过赋值转化成大范围的数据类型.而大范围的数据类型要想转换为小范围的数据类型,则需要强制转换,使用”(数据类型)”进行强制转换

string不是java中的一种基本数据类型,它是一个特殊的类,它的对象是引用类型.

2.

类中定义了对象所共有的方法和属性,就像一个模板,可以通过类创建多个对象

类的定义:格式:public class 类名{}

            在类中写方法和属性

            属性的定义:private 数据类型 属性名;

主程序入口(主函数):  public static void main (Sring args [ ]){}

创建类的对象:  类名 对象名= new 类名();

*都要注意大小写,类名要与class文件名相同

3.方法

1.一般方法

方法的定义格式:访问限制符 返回类型 方法名 (参数类型 参数){}

方法的分类:1.有参无参  2.有返回值,无返回值

方法的调用:  对象名.方法名(参数);

*方法调用时,要根据定义方法时是否有参数来调用,若方法有参数,调用时也要加上相应的参数,也可以传入对象

方法的重载:方法名相同,而参数类型和参数的个数不同

2.构造方法

每个类都有一个默认的无参的构造方法

如果自己再定义一个构造方法,程序就会使用重新定义的构造方法,即构造方法的重载

主要用途:初始化对象的属性值

构造方法没有任何返回值类型,且必须与类名相同

访问限制符 方法名(参数类型 参数){}

4.this关键字

在类中用来指代当前对象 this.name =name; 第一个name为属性值,第二个name为传入的参数值

5.值传递与引用传递

值传递传递的是变量中的内容,引用传递传递的是变量的首地址

6.类的继承

public class 子类名extends 父类名{}

使用extends关键字,子类自动具有父类的方法和属性,当子类调用方法时,是在调用父类中的方法,子类也可自己定义方法.

子类中方法的重写:和父类的方法要一致,方法体不一样.

*java中子类只能继承一个父类

7.多态指的是一种不确定性,只有在运行之后才知道具体的内容

8.接口

子类重写父类飞的方法是必须要定义接口

接口的定义是interface,而不是class

接口默认的限制符是public

接口定义的规则:1.接口中定义的方法不能有任何方法体,只定义方法的返回值类型,方法名,参数,不能用任何的实现.

2.不能直接使用接口创建对象

3.接口中可以定义属性,但这些属性定义后不可以在改变

接口的实现使用的是implements

           public class 类名 implements 接口名{}

           实现类中必须重写接口中的方法名(接口中方法没有方法体,类中要重写)

类和接口的关系和比较:

       *继承的关键字不同,interfaceextends

*一个类可以继承多个接口,而一个类只能继承一个父类,一个接口可以继承多个接口

*类通过extends继承类

类通过implements继承接口

 接口通过extends继承接口

9.抽象类

抽像类定义使用abstract关键字。

抽象类的定义:修饰限制符 abstract  class 类名{}

在抽象类中可以定义像接口中没有实现的方法,也可以定义实现了的方法,所以说抽象类是介于类的接口之间的

定义抽象方法的格式:限制修饰符abstract void方法名();

*子类继承抽像类时,使用extends关键字,在子类中,必须实现抽象类中的抽象方法。子类只能同时继承一个抽象类,与接口不同

*抽象类也不能直接创建对象,与接口相同

10.关键字

1.可见性修饰关键字:

public:公有的,公开性最高。抽象类,接口的默认关键字

         放在方法前,表示方法可以被其他包中的类调用      

private:私有的。只能由类内部的方法或构造器来调用,属性一般定义为private

protected:受保护的。类的默认关键字

2.static关键字:

static方法:使用static限定的方法称为静态方法

它与非静态方法的区别是:非静态方法的调用需要通过创建该类的对象来调用

                        静态方法直接使用类名。静态方法名()调用

static属性:可以在任何方法中直接使用,不创建类的对象

3.super:调用父类方法

4.final:最终的,表示不可改变,放在属性前表示不可更改,放在方法前,当子类继承时,不可以重写此方法

11.数组

一维数组的定义:数据类型 数组名 [ ] = new 数据类型[数组长度];

            数据类型 数组名 [ ] = {值,……};

二维数组的定义:数据类型  数组名 [ ] [ ] = new 数据类型 [数组长度][数组长度];

数组排序的方法:冒泡法,插入排序,选择排序……

12.对列

队列可以像数组一样有序的存放对象,也可以自动增长

  实现队列的思路:在实现类的内部,使用数组保存装入队列的对象,每次添加新的对象时,创建一个比原来数组长度大一的数组

泛型:定义接口时 接口名<E>,相当于一个模板

      在创建队列时,指定队列中存放对象的类型即可

13.集合框架

Set:无序的

List:相对有序的,以线性方式存储,没有特定的顺序,只有一个开头和结尾

Queue:有序的

14.文件:

通过File对象的方法创建文件或目录,删除文件和获取列表目录下的文件

文件分类:真实文件,目录文件,虚拟文件

递归:是通过自己调用自己进行计算,关键是找好终止运算的条件,否则将陷入死循环

15.异常:

在程序运行的过程中,发生一些情况,导致程序可能出错(中断运行)

常见的异常:空指针异常,文件异常,IO异常

异常处理的一般方法:将异常往外抛

1.       try{}catch(){}finally{}

2.        throws

16.IO流:

流是java中输入输出的抽象

流的分类:按方向分:输入流(InputStream)和输出流(OutputStream

          按性质分:基础字节流,过滤流,基与具体数据类型的流,基与对象读写

InputStream/OutputStream子类:文件读写

FileInputStream:从文件中读取数据

FileOutputStream:写数据到文件

缓冲流:BufferedInputStream/BufferedOutputStream

        使用流读写数据时,一般是一个字节一个字节的读取

        经历的过程为:输入文件—>操作系统内存—>JVM内存—>代码变量—>操作系统内存—>输出文件

        而缓冲流则是开辟了一块一定大小的区域,使得每次传送缓冲区字节相对较多的字节,大大提高了效率

 

你可能感兴趣的:(java)