美文网首页
Java学习随笔-单词,知识点

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

作者: 很很狠的狠角色 | 来源:发表于2017-12-12 14:47 被阅读0次

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

    • 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学习随笔-单词,知识点

          本文链接:https://www.haomeiwen.com/subject/bbvqpxtx.html