Keys Facts and Choice in This Course

facts

What Do We Analyze

Pointers in Java

  • Local variable: x
  • Static field: C.f
  • Instance field: x.f
  • Array element: array[i]: 会忽略下标,把它们都当成是 array 的一个 field 比如叫 arr,比如 array[0] 也是 array.arrarray[1] 也是 array.arr

Pointer-affected Statements

  • New. x = new T()
  • Assign. x = y
  • Store. x.f = y
  • Load. y = x.f
  • Call. r = x.k(a, ...)

Domains and Notations

notations

Rules

rules

rules2