Java学习笔记-02面向对象(1)_显式

 

Java学习笔记-02面向对象(1)_变量名_02

 

 

Java学习笔记-02面向对象(1)_显式_03

属性(成员变量) VS 局部变量

相同点:

  • 格式:数据类型 变量名=变量值
  • 先声明,后使用
  • 变量都有其对应的作用域

不同点:

  • 在类中声明的位置不同
    • 属性:直接定义在类的一对{}内
    • 局部变量:声明在方法内、方法形参、代码块内、构造器形参,构造器内部的变量
  • 权限修饰符的不同
    • 属性:可以在声明属性时,指明其权限,使用权限修饰符
    • 局部变量:不行
  • 默认初始化值的情况
    • 属性:有默认初始化值
    • 局部变量:没有默认初始化值,一定要显式赋值
  • 在内存中加载的位置
    • 属性:堆空间
    • 局部变量:栈空间

匿名内部类:创建的对象没有显式的赋给一个变量名,只能调用一次。

方法的重载:在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。

可变个数的形参格式:数据类型 ... 变量名

方法参数的值传递机制

  • 形参是基本数据类型:将实参基本数据类型变量的“数据值”传递给形参
  • 形参是引用数据类型,将实参引用数据类型变量的“地址值”传递给形参

三个特征

  • 封装性
    • Java学习笔记-02面向对象(1)_变量名_04
    • 4种权限都可以用来修饰类及类的内部结构:属性/方法/构造器/内部类
    • 修饰类只能使用public或缺省
  • 继承性
  • 多态性