• 欢迎访问hellobiancheng.com 本站包含大量编程教程、编程工具软件以及学习资源!

一篇就够的Java易错点总结

编程经验 小小丁更努力 26次浏览 0个评论

一篇就够的Java易错点总结

注释

  • 单行注释、多行注释、文档注释;

命名

  • a-z、A-Z、$、_ 开头可以命名;

数据类型

  • long 类型要在数字后面加上L;
  • String不是关键字 是一个类;
  • 进制:二进制 0b、八进制 0、十六进制 0x;
  • float 是离散有限的,具有舍入误差,大约,接近但不等于,银行系统只能使用BigDecimal类;

类型转换

  • 高->低 强制转换;
  • 低->高 自动转换;

变量

  • 局部变量、实例变量、类变量、常量;

运算符

  • Java没有幂运算,所以只能借助工具类,Math;
  • 逻辑或与非的短路原则;

包机制

  • 包的本质就是一个文件夹;

JavaDoc

javadoc -encoding UTF-8 -charset UTF-8 名字.java

小结

  • 类是抽象的,是模板;
  • 对象是一个具体的实例;
  • 引用:对象是通过引用来实现的,栈—–>堆;
  • 类里面只有属性和方法;

封装

  • 高类聚,低耦合;
  • 属性私有 get/set;

继承

extends 是子类对父类的拓展 子类继承父类

父类 子类(派生类)

所有的类 都默认继承 object 类

只是单继承 没有多继承

调用父类的构造器 必须放在子类构造器第一行 super();每个类必须要有无参构造;

注意

  1. super 调用父类的构造方法,必须在构造方法的第一个

  2. super 必须只能出现在子类的方法或者构造方法中

  3. super 和 this 不能同时调用构造方法

this 调用本类

super 调用父类

this() 调用本类的构造方法

super() 调用父类的构造方法

重写

重写都是对方法的重写 和 属性无关

静态的方法和非静态的方法有很大的区别:

  1. 静态方法:方法的调用只和左边的定义的数据类型有关

  2. 非静态:重写

重写只是子类和父类之间,而且是子类重写父类的方法,非静态,子类的方法必须和父类一致,方法体不同

  1. 方法名必须相同

  2. 参数列表必须相同

  3. 修饰符

  4. 抛出的异常

为什么需要重写:

父类的功能,子类不一定需要,或者不一定满足;

多态

  1. 多态是方法的多态,属性没有多态

  2. 父类和子类之间有联系,类型转化异常(ClassCastException)

  3. 存在条件:继承关系、方法重写、父类的引用指向子类的对象

不能重写:

  1. static 方法,属于类,它不属于实例

  2. final 常量

  3. private 方法

instanceof

  • A insitanceof B A 和 B 之间是否有父子关系;
  • 强制转化:低转高不需要强制转换;
  • 子类转化为父类可能会丢失子类本来的方法;
  • 向下转化:父类转化为子类,可以强制转化;
  • 向上转化:子类转化为父类,不需要强制转化,否则会丢失一些东西;

和对象同时产生:

静态代码块 > 匿名代码块 > 构造函数

静态代码块中的内容只执行一次;

静态导入包:

import static java.lang.Math.random

通过 final 修饰的类 就不能被继承,也就是没有了子类;

abstract(在public 后面直接加)

  • 抽象方法:只有方法名字,没有方法的实现,抽象类的所有方法必须要由子类来实现;
  • 抽象类:不能new 这个抽象类,只能通过子类去实现这个类,抽象类也是有构造函数的;

接口(interfase 代替 class

  • interface 接口的关键字;
  • 接口中的方法都需要有实现类,public abstruct 可以默认的不用写;
  • 接口中定义变量,都是常量,默认省略了 public static final;
  • 实现了接口的类,必须实现接口中的所有方法;
  • 同一个可以实现多个方法,后面用 , 隔开就可以了,侧面实现了多继承;

作用:

  1. 约束

  2. 定义一个方法,让不同的人实现

  3. public abstract

  4. public static final

  5. 接口不能被实例化,接口中没有构造方法

  6. implements 可以实现多个接口

  7. 必须要重写接口中的方法

把所有东西接口化;

内部类

  • 内部类就是在一个类的内部定义另一个类,相对于的是内部类和外部类;
  • 一个java 文件中可以呦多个 class 类,但是只能有一个public 类;

异常处理

五个关键词:

try catch finally throw throws

捕获异常:

try{

}catch(){

}finally{

}

catch 里面的参数就是想要捕获的类型;

假设要捕获多个异常,要从小到大的捕获;

主动抛出异常:

throw :一般在方法中使用,throw new ArithmeticException();

throw :是在方法上使用,向外抛出异常,然后在外面用try catch捕获异常来处理;

自定义异常:

一定要去继承 Exception;

注意:

  1. 在多重 catch 块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常

  2. 尽量 添加 finally 去释放占有的资源

  3. 增加一些处理异常的代码块

C语言网提供「C语言、C++、算法竞赛」在线课程,全部由资深研发工程师或ACM金牌大佬亲授课,更科学、全面的课程体系,以在线视频+在线评测的学习模式学习,学练同步,拒绝理论派,真正学会编程!还有奖学金等增值福利等你!

你好编程, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明一篇就够的Java易错点总结
喜欢 (0)
[jinyangH@aliyun.com]
分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)