方法的调用

125 阅读1分钟

回顾

方法的调用:有无static的区别

  1. 无static: 非静态方法
    • 先实例化这个类 new
    • 对象类型 对象名 = 对象值
    • 通过 对象名.方法名 来调用
  2. 有static:静态方法
    • 直接 类名.方法名 来调用

其他

  1. static方法是和类一起加载的
  2. 非static方法是在类实例化之后才存在的
  3. 非static方法可以直接调用static方法,但是static方法不能直接调用非static方法
  4. 值传递和引用传递
  • 值传递: 在这段代码中,两次输出结果都为1,这是为什么呢? -->原因很简单,在Demo04.change(a)这里,它只是把a传进去change这个方法里面走一下,并没有返回出什么,自然,处理后,a还是等于1.
  • 引用传递:对象 本质还是值传递 在这段代码中,第一次输出null,第二次输出WU,这又是为什么呢? -->因为,在Demo05.change(person)这里,person.name = "WU" 指向的是 Person类的name,修改的是 Person类里面的name。在这里,person是一个对象,指向的 --> Person person = new Person(); 这是一个具体的人,可以改变属性。
  1. private static int age;//静态变量
  2. 一个类里面可以有匿名代码块、静态代码块、构造方法块,它们执行的顺序是:静态代码块-->匿名代码块-->构造方法块,且静态代码块只执行一次。举个例子: 输出结果: