JAVA基础学习总结及注意事项

来源:互联网 发布:ubuntu安装教程u盘 编辑:程序博客网 时间:2024/05/16 03:43

JAVA基础学习总结及注意事项

1.      基本语法

boolean类型占一个字节

char类型占两个字节

byte类型占一个字节

short类型占两个字节

int类型占四个字节

long类型占八个字节

float类型占四个字节

double类型占八个字节

 

JAVA默认把整数认为是int类型,浮点数认为是double类型

当需要表示float类型的小数时,要在该小数后面加上f

当要表示的整数,范围超过int类型所能表示的范围后,应该在其后面加上L

float类型的范围比long类型的范围要大

当实数进行运算时,如果两数类型小于等于int类型的范围,则结果为int类型

当实数进行运算时,如果有大于int类型的范围,则结果为范围最大的类型

 

对象运算符instanceof用法:(数据 instanceof 某数据类型)返回值为boolean类型

switch只能探测字符与整数类型,在使用时还需注意case穿透的问题

break只能用于switch或者循环语句

continue只能用于循环语句

使用多重循环的时候,可以使用break或者continue并配合标签进行定向跳转

return语句用于执行完指定的语句后,返回到函数调用处

 

2.      面向对象

在一个Java源代码文件中只能存在一个public类,并且类名要与文件名一致

局部变量使用前必须对其进行初始化

成员变量如果未初始化,则系统默认进行初始化,基础类型为0,对象类型为null

构造函数无返回值,并且与类名一致

如果自己创建了构造函数,系统不会再提供参数为空的缺省构造函数

静态变量与静态方法为所有同类对象共有,并且不用创建对象即可使用

不可在静态方法中调用非静态的变量或方法

static静态块当类被加载到内存时才执行,并且只执行一次,执行顺序优先于构造函数

 

类前的访问控制符

       public:该类可以被所有类使用

       default(空):该类可以被同包类使用

成员前的访问控制符

       public:该成员可以被所有类使用

       private:该成员只能在该类内部使用

       protected:该成员可以被同包类及其他包中的子类使用

       default(空):该成员只能被同包类使用

 

重载指同一类中同名但形参类型或者个数或者顺序不同的成员方法,返回值类型不重要

在构造函数中调用其他重载的构造函数时,this)必须为第一条语句

可以在定义成员变量时进行初始化,但真正的初始化是在构造函数调用时

自引用指本类成员变量中有指向本类对象的引用变量

递归指方法自己调用自己的现象

this为指向对象自身的引用

return this指返回当前对象自身的引用

return new 类名()指返回一个新的对象

数组中的记录长度的length为成员变量

 

3.      继承与多态

继承指子类拥有父类的所有成员

super是一个用来调用继承自父类的成员的引用

子类调用父类的构造函数使用super….

子类定义构造函数时应将super)置于最上部,如果未写则系统默认加入super()

覆盖指子类拥有与父类相同的成员的情况

子类覆盖父类的成员方法,可对其进行功能与访问权限的扩展

父类引用变量可以引用子类对象中继承自父类的成员与被子类覆盖的方法

重载与覆盖都是实现多态的手段,重载是在类内部,覆盖是在类与类之间

 

4.      抽象类与接口

抽象方法无方法体,含有抽象方法的类为抽象类

继承抽象类的子类,必须覆盖所有抽象方法,否则子类将变成抽象类

抽象方法不能是privatestatic(说明原因)

 

接口中所有的成员方法都是抽象的,成员变量都是staticfinal的(默认添加

实现某接口的类会继承该接口的所有成员,该类必须覆盖接口中所有的抽象方法

接口之间可以继承,一个类可以实现多个接口

接口中的抽象方法不能是privateprotected(说明原因)

 

final修饰符:

修饰变量,表明该变量一旦被初始化后,其值不可以再次改变

修饰类,表明该类为最终类,不可以被继承

修饰方法,表明该方法为最后方法,不可以被子类覆盖

 

5.      内部类

普通成员类的使用规则与类的普通成员的使用规则一致

静态成员类的使用规则与静态成员的使用规则一致

匿名类是为唯一对象而定义的类,匿名类的写法表示该匿名类继承某类或者实现某接口

匿名类的写法为:Xxx xx = new Xxx() {*};星号所在位置既是匿名类的定义处

内部类通常用于在某类的内部使用

 

 

6.      Object类说明

Object类是所有JAVA类的父类位于java.lang包中(该包中的类在运行时自动导入

 

常用方法说明:

equals:若两个对象对同一对象返回true,否则返回false与用两个等号比较对象相同

toString:返回该当前对象的字符串表达形式

wait:使当前线程对象进入等待状态(在同步块或同步方法中使用

notify:通知一个处于等待状态的线程对象(在同步块或同步方法中使用

notifyAll:通知所有处于等待状态的线程对象(在同步块或同步方法中使用

 

7.      异常处理

Throwable包含ExceptionError两个子类,Exception为普通异常,Error为错误异常

RuntimeException继承Exception,这类异常可以使用try catch finally处理

try catch可处理多个异常,finally表示无论是否发生异常该段代码都将被执行(可省略)

可抛出异常的方法:方法名() throws 某类异常

在某方法中不想处理某类异常,可将该方法声明为可抛出异常的方法

自定义异常类只需继承Exception

当满足某种条件想抛出自定义的异常对象可使用:throw new 异常对象

 

8.      输入输出相关(常用)

按处理单位分为字符流,字节流。按处理的方向分为InputOutputInput举例说明

File类可代表文件或路径。具体使用方法参考API

RandomAccessFile为随机文件访问类,支持文件的随机读写操作

 

FileInputStream(File file) 将文件对象与流对象进行关联

FileInputStream继承InputStream

 

InputStreamReader(InputStream in)

InputStreamReader继承Reader

 

FileReader(File或者路径) 不使用InputStreamReader,简化了操作

FileReader继承InputStreamReader

 

BufferedReader(Reader in)(提供缓冲机制,以行为单位进行输入输出)

BufferedReader继承Reader

 

PrintStreamPrintWirter都是打印输出流(内部提供自动刷新功能

System.in InputStream对象,System.outPrintStream对象(标准输入输出

 

ObjectInput为对象序列化接口,继承自DataInput接口

ObjectInputStreamInputStream in)继承InputStream并实现了ObjectInput接口

 

 

9.      常用接口

Cloneable接口:产生自身对象的副本。实现该接口的类必须覆盖Object类的clone方法

Enumeration接口:实现该接口的对象,可在内部持有给定的元素

Serializable接口:只有实现该接口的对象,才可以被序列化

 

原创粉丝点击