本文最后更新于324 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
八大基本类型
byte、short、int、long、double、float、char、boolean
1 2 4 8 8 4 2 1 字节数
类型转换
隐式转换:将数据类型小的变量,转换成数据类型大的变量,不需要转换。
强制转换:将数据类型大的变量,转换成数据类型小的变量,需要手动转换,要注意进度丢失。
自增自减
int num3 = 10;
int num4 = ++num3;//11 先自增在运算
int num5 = num3++;//11 先运算在自增break和continue
break:跳出最近的一次循环,循环结束
continue:跳过最近的一次循环,continue后的代码本次循环不在执行,直接进入下一次循环
数组
- 只能储存相同类型的容器 ,容器的长度一旦设置好就不能改变
- 不同类型的数组元素默认值:
- 整型:默认值 0
- 浮点型:0.0
- char:null(字符)
- 布尔类型:false
- 引用类型:null
 
继承
将具有共同特征和共同行为的类在抽取一个共同的父类,在父类中应该具有子类共同的属性和方法
属性:父类中所有用pubilc修饰的属性都可以被子类继承,如果属性是用private修饰的话子类不会继承的。可以通过反射暴力获取。
方法:
- 构造方法:子类会继承父类的构造方法,在子类构造方法创建对象时,会先调用父类的构造方法,因为需要获取父类中的属性和方法的模板用于对象的创建。所以一般情况下父类的构造方法不要用private。
- 普通方法:重新:子类重新编写与父类方法名、返回值类型、访问修饰符、参数列表都相同的方法称为方法的重写。子类重写的方法逻辑可以与父类不同,使子类有自己的独特逻辑。
其他:
- final:修饰类表示该类不能被继承,如果想一个类不被可以用final修饰 修饰属性表示该属性为常量 修饰方法表示该方法不能被重写
多态
概念:同一种事物的不同表现形式
由父类应用指向子类对象,子类如果是要处理相同逻辑的行为交给第三方处理,就需要传递子类的对象作为参数,这样的话就需要第三方编写与子类类型个数相同的方法个数。有了多态可以让第三方减少方法的编写,同时也可以减少代码的编辑量,使用父类类型作为形参可以接受任意子类类型。
只需要父类类型(形参)调用相同方法,等传入不同的子类时就可在运行期间确定是调用对应子类的方法。
注意:当你传递的是子类类型时,如果子类有自己独特的方法(不是重写父类的方法),使用父类引用是在编译期间不能调用这个方法;
抽象类
- abstract修饰的类称为抽象类
- 抽象类可以有抽象方法,抽象方法不能有方法体,抽象方法由abstract修饰
- 抽象类可以有属性,普通方法,构造方法,不能用final修饰
- 抽象方法不能私有化,不能被final修饰,子类必须重写;如果抽象类A被抽象类B继承,抽象类B可以,不用重写抽象方法,由抽象类B的后代类去重写。
- 抽象类有构造方法,但不能直接实例化对象,需要子类去实例化
java 的异常处理机制
抛出异常
throw 抛出异常
- 使用 throw 关键字可以用来抛出一个指定对的异常
- throw 使用规则: throw 异常实例:
- 常规格式: throw new 异常类名(异常原因);
- throw 必须写在方法内部
- throw 后面 new 出的对象必须是 Exception 或是其子类
- throw 抛出的异常对象,就需要处理这个异常
- 如果是编译时异常,必须处理
- 如果是运行时异常,可以交由虚拟机处理
 
 
捕获异常
- 使用try和catch关键字可以捕获异常,try/catch代码块能够放在异常发生的地方。try/catch中的代码页也称之为保护代码//使用try/catch 的基本语
try{
   //可能发生的异常代码
}catch(需要捕获的异常 变量名){
   //异常的逻辑处理
   //一般工作中会将异常信息记录在日志中
   //或者对应的进行异常后的回滚或者还原操作
}