面对对象

Java学习之对面对对象的一点认知

第一次写博客啊,哈哈, 记录是一个好东西,交流跟是个好东西. -----鲁迅没说过

  • 概念

    • 任何对象都有自己的特征与行为

      • 特征:称为属性,一般为名称,代表对象有什么
      • 行为:称之为方法,一般为动词,代表对象能做什么
  • 类(对象的模板)

    Java类中默认隐藏有一个无参数的构造方法,如果自己写了其它的构造方法,这个默认的也就不存在了
    类只能被public ,abstract,final给修饰

    • 类的声明

      • [修饰符]class<类名>[extends 父类名][implemets接口列表]{}

        修饰符:可选,用于指定类的访问权限,可选值为public, abstract,final
        类名:必选,所有单词首字母大写且合法
        extends 父类名:可选
        implements 接口列表:可选

    • 类体

      • 全局变量(成员变量)-------属性
      • 成员方法-------方法
    • 全局变量与局部变量

      • 全局变量

        作用于整个类中
        系统会默认初始化赋值
        int 0 double 0.0 boolean false 引用类型 null

        声明全局变量:
        [修饰符][static][final]<变量类型><变量名>;
        [修饰符]:可选,public,protected,private
        static:可选
        final:可选,即为常量
        变量类型:必选
        变量名;必选

        • 实例变量

        • 静态变量

          用关键字static修饰的,也称为类变量

      • 局部变量

        作用于一个方法体中
        必须先赋值才能使用

        声明局部变量:
        fianl(可选)<变量类型><变量名>;

    • 类的UML图

      第一层:类名
      第二层:属性 如name:Stirng
      第三层:方法 如run():void

    • 构造方法

      名字与类名完全相同
      没有返回值(不存在void)
      如:public Apple(){}

      • 定义:实例化对象时候,默认会调用的方法且只会在类的实例化中被调用

      • (重点):this()与super()的使用(即在构造方法中调用另一个构造方法)

        构造方法调用有: (不允许存在递归结构)
        super() 或 super(实参)
        this() 或 this(实参)

        1. 在某个构造方法体中:
          构造函数调用必须是构造函数中的第一个语句
          this和super的构造方法调用不能同时存在且只能存在一个.
          构造方法中第一行默认有个隐藏的super()方法,如果你写了一个显性的,默认的就没用了
        • 构造函数调用只能发生在构造函数中,且只能发生在第一行
  • 对象(类的实例化)

    • 实例化对象的过程

      • Apple app=new Apple();

        1–对象的声明
        Apple app;声明对象app的类型
        2–实例化对象
        new 在堆中开辟空间
        Apple() :类的构造方法

    • (重点)对象创建的内存分析

      • 1.堆中开辟空间
      • 2.对成员变量赋予初始值
      • 3.调用构造方法
      • 4.将地址复制给变量
    • this关键字

      类是模板,可服务于此类的所有对象;this是类中的默认引用,代表当前实例;当类服务于某个对象时,this则指向这个对象

      • this.name;代表当前类的对象对其属性name的调用
    • 对象的销毁(了解即可)

      Java提供的垃圾回收机制可以自动判断对象是否还在使用,并能够自动销毁不再使用的对象,收回对象所占用的资源.Java提供了一个名为finalize()的方法,用于在对象被垃圾回收机制销毁之前执行一些资源回收工作,由垃圾回收系统调用.但是垃圾回收系统的运行是不可预测的.finalize()方法没有任何参数和返回值,每个类有且只有一个finalize()方法.

XMind: ZEN - Trial Version

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值