Java学习随笔-单词,知识点

一些关键词语,一些知识点的理解

  • final 表示该值被创建并初始化后具有不可被更改性。被final修饰的类不可被继承,被final修饰的类不可被子类覆盖。被final修饰的类所有方法自动成为final方法,但是域不会自动变成final域。
    static 表示该值从实例域变为静态域,并具有唯一性(一般static和final一起使用的时候,static在final前面)
  • 静态方法:不能对对象实施操作,不能访问实例域;没有this参数;可以访问自身类中的静态域。两种情况使用静态方法:1.一个方法不需要访问对象状态,其所需参数都是通过显式参数提供(例如,Math.pow(x, a);,用于计算幂x^a,x的a次幂,不使用任何Math对象);2.一个方法只需要访问类的静态域。
  • 非public类和public类都可以有main方法,常用于对类进行单元测试。如果要运行整个工程,可以用java Application来运行,非public类的main方法不会运行。
  • 实例域如果不显式初始化,系统会自动赋值默认值:数值型为0,布尔值为false,对象引用为null等。而方法里的那些局部变量如果不显式初始化,系统不会自动赋值,而是一些随机值。
  • 构造器的执行处理过程
    1) 所有数据域被初始化为默认值(0,null,false)
    2) 按照在类声明中出现的顺序,依次执行所有域初始化语句和初始化块
    3) 如果构造器第一行调用了第二个构造器,则执行第二个构造器主体
    4) 执行这个构造器主体
  • javadoc从下面几个特性中抽取信息:
    1)包
    2) 公有类和接口
    3) 公有的和受保护的构造器和方法
    4) 公有的受保护的域
    如果文档中有其他文件的链接,比如图像文件(用户界面的组件的图表或图像等),就应该将这些文件放到子目录doc-files中。
  • java.lang包是被默认导入的。
  • 出现超类对象的任何地方都可以用子类对象置换。
    如:(new Manager() 创建的对象代替了new Employee()创建的对象)
    Employee e;
    e = new Employee();//Employee object expected
    e = new Manager();//Manager can be used as well
    但是在具体应用中,还是要遵守继承的规则。
  • 动态绑定/方法表
      对象调用非private,staitc,final方法时所用的一种生成调用指令的方式。当程序运行,并采用动态绑定调用方法时,为了减少搜索方法的时间开销,虚拟机会为每个类创建一个方法表,其中列出了所有方法的签名和实际调用的方法。
      比如,Manager类中有三个继承来的方法,一个重写的方法,一个新增的方法。
      Manager:
      gerName()->Employee.getName()
      getSalary()->Manager.getSalary()
      getHireDay()->Employee.getHireDay()
      getSalary(double)->Employee.getSalary(double)
      getBonus->Manager.getBonus()
      在运行的时候,调用e.getSalary()的解析过程:
    1) 首先,虚拟机提取e的实际类型的方法表。既可能是Employee、Manager,也可能是Employee类的其他子类的方法表。
    2) 接下来,虚拟机搜索定义getSalary签名的类。
    3) 最后,虚拟机调用方法。虚拟机会调用与e所引用对象的实际类型最合适的那个方法。假如e的实际类型是D,C是D的父类。如果是D定义了e,就调用它;否则,在C中查找e,以此类推。

一些词汇

  • abbreviation 省略,简化,缩写词
  • annotation 注释
  • associated 关联(的),联合(的),合伙人
  • binary 二进位的,二进制数
    oct 八进制数
    decimal 十进位的,小数的,小数
    hex 十六进制数
  • cannot be resolved 不能被识别(未声明等)
  • collaboration 协作
  • capacity 容量
    size 大小
  • defined 已被定义的
  • definitive 最后的,不可更改的
  • demonstrate 演示,证明
  • diagram 图表,图解,示意图
  • dynamic 动态(的)
  • execute/execution 执行,完成
  • executive 【计算机】执行指令;总经理,行政部门(的)
  • generic 一般的,泛型
  • handler 处理器
  • hierarchy 【计算机】层次;等级制度
  • implicit/explicit 隐式/显式
  • invoke 请求,祈求
  • javadoc (文档提取工具,从源文件中生成一个HTML文档)
  • merge 混合,融入
  • mutable/immutable 可改变的/不可改变的
  • notification 通知,布告
  • overloading resolution 重载解析
  • polymorphism 多态性,多机组合形式
  • primitive 基本的,原始的
  • propose 建议,打算,计划
  • reflection 反射
  • signature 签名
  • snapshot 快照
  • spreadsheet 电子表格程序
  • statement 声明
  • submit 提交
  • utility 实用程序

一些类

  • Random
Random random = new Random();
int id = random.nextInt(1000);//nextInt(n) 返回0~(n-1)中的任一整数数
  • indexOf
    java子字符串的查找方法:
    int indexOf(String b):返回指定子字符串第一次出现的索引
    int indexOf(String b, int startIndex):返回给定位置之后第一次出现指定子字符串的索引
    int lastIndexOf(String b):返回出现指定子字符串的最后一个索引
    int lastIndexOf(String b, int startIndex):从指定索引出开始向后搜索,返回在此字符串中出现制定子字符串的最后的索引
    如果在字符串中不含有指定子字符串,返回-1

类的设计技巧

  1. 一定要保证数据私有
  2. 一定要对数据初始化
  3. 不要在类中使用过多的基本类型
  4. 不是所有的域都需要独立的域访问器和域更改器
  5. 将职责过多的类进行分解
  6. 类名和方法名要能够体现它们的职责

你可能感兴趣的:(Java学习随笔-单词,知识点)