美文网首页
面向对象(上)

面向对象(上)

作者: 冯宏志 | 来源:发表于2020-11-23 23:24 被阅读0次
    1. 属性 = 成员变量 = field = 域、字段
    2. 方法 = 成员方法 = 函数 = method
    3. 创建类的对象 = 类的实例化 = 实例化类
    • 类和对象的使用
      1.创建类,设计类的成员
      2.创建类的对象
      3.通过“对象.属性”“对象.方法”调用对象的结构

    • 如果创建了一个类的多个对象,则每个对象独立的拥有一套类的属性(非static)

    • 内存解析


      image.png
    属性(成员变量)vs对象

    相同点

    1. 定义变量的格式:数据类型 变量名 = 变量值
    2. 先声明后使用
    3. 变量都有其对应的作用域

    不同点

    1. 在类中声明的位置不同:
      属性:直接定义在类的一对{}内
      局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量

    2. 关于权限修饰符的不同
      属性:可以在声明属性时,指明其权限,使用权限修饰符
      常用的权限修饰符:private,public,缺省,protected --->封装性
      局部变量不可以使用修饰符

    3.默认初始化值的情况
    属性
    整形:0
    浮点型:0.0
    字符型:0或'\u0000'
    布尔型:false
    引用数据类型(类、数组、接口):null

    局部变量: 没有默认初始化值
    意味着在调用局部变量之前,一定要显式赋值
    特别的,形参在调用时,我们赋值即可

    4.内存中加载的位置:
    属性:加载到堆空间中(非static)
    局部变量:加载到栈空间

    匿名对象的使用
    1. 理解:我们创建对象,没有显式的赋给一个变量名,即为匿名对象
    2. 特征:匿名对象只能调用一次
    3. 使用:(其中show函数需要传进一个Phone类的形参,直接新建一个匿名对象传入)
    PhoneMall mall = new PhoneMall();
    mall.show(new Phone());
    

    相关文章

      网友评论

          本文标题:面向对象(上)

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