编程细节

Posted lr1402585172

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程细节相关的知识,希望对你有一定的参考价值。

  在判断两个浮点数是否相等时可判断他们差的绝对值是否小于某个很小的数

    Math.abs(x - y) < 0.00001

 

  判断两个引用类型相等不能使用 == 运算符

    String s1 = "hello";
    String s2 = "HELLO".toLowerCase();
    s1 == s2    //false

  应该使用 equals();注意:    s1.equals(s2)  会因为s1为null,导致程序出现报错。当我们确定某个值不为null时,可以将它写在前面:"abc".equals("abc")

 

final关键字

  其修饰的基础类型变量不能修改其值,可以在构造函数中初始化这些变量

  其修饰的不能被继承

  其修饰的函数不能被覆写(override)

 

抽象方法

  类中有抽象方法,其类就必须被定义为抽象类(因其方法不能被执行);抽象类不能实例化,只能被继承。

  抽象方法必须被覆写

 

接口(interface)

  如果一个类没有字段所有方法都是抽象方法;可以把该抽象类改为接口。

  抽象方法本质上是定义接口规范:即规定高层类的接口,从而保证所有子类都有相同的接口实现.

  当一个具体的类去实现接口时,使用implements

 

静态字段

  应使用 类名.静态字段 来访问,因为实例对象并没有静态字段

 

静态方法

  在方法内部,不能使用this,也无法访问实例字段,但可以访问静态字段

 

接口的静态字段

  因为interface是一个纯抽象类,所以它不能定义实例字段。但是,interface是可以有静态字段的,并且静态字段必须为final类型:

 

 

以上是关于编程细节的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

Android TV - 在细节片段中失去焦点

使用 Pygments 检测代码片段的编程语言

面向面试编程代码片段之GC