zoukankan      html  css  js  c++  java
  • java第六课 oop

    java oop

    1.面向过程的结构化程序设计
    弊端:方法和数据结构都是毫无规律的定义在程序中任何位置
            方法定义和方法要处理的数据结构也都是分开定义


    2.对象:每new一次,就创建1个新对象,和原来的对象之间没有影响


    3.需求中的名词:对象
                  动词:方法


    4.方法签名:包含方法名和参数类型类表“顺序”,
                     重载与参数名无关,只关注参数类型的顺序是否重复,
                     重载与方法返回值无关


    5.构造方法有两点特殊规则:构造方法的方法名必须与类名相同;
                                        构造方法没有返回值类型


    6.构造方法常用于在创建对象时,初始化成员变量


    7.this:当前对象的。。

    8.引用类型数组

    数组属于引用类型,数组也是1个对象
    数组类型也是类型。
    二维数组创建语法:
    数据类型[][] 数组变量=new 数组类型[行数][列数];//其中列数可以省略

    9.对象内存管理
    堆:专门存储用new关键字创建的实例的空间(一盘菜)
    垃圾回收器:Garbage Collection,GC,是JVM自带的一个线程(伴随主程序运行着的程序),用于回收废弃对象
    内存泄露:废弃的对象没有被及时的回收
    建议:确定一个引用变量指向的对象不再使用时,应该及时将应用类型变量设置成null。
    System.gc():建议JVM马上调度GC尽快回收废弃对象

    栈:存放方法中的局部变量(菜单)
    java程序中每调用一个方法时,JVM在栈中为当前方法分配所需的空间,这个空间称为该方法的栈帧,
    一个栈帧专门对应一个正在调用的方法。
    栈帧中存储了1该方法的参数、局部变量等数据变量。当方法调用完成后,方法的栈帧将被清除,局部变量同时失效

    方法区:用于存放类的信息(墙上的招牌菜海报)
    方法去中的类信息只有一份

     

    10.继承
    继承就是使用一个类的定义,复制并扩展出一个新的类定义
    java语言不支持多重继承,一个类只能继承一个父类,但是一个父类可以有多个子类
    泛化:从多个类中,抽取相同部分,生成父类的过程
    设计时,从从子类泛化出公共父类,再让子类继承父类
    一次定义,处处使用

    方法的重写Override
    1.重写必须在继承的基础上进行
    super调用父方法
    2.动态方法调度:在运行时,父类变量根据指向子类对象的不同,动态判断调用何种重写方法
    只有父类型对象自己才能调用父类型方法
    3.重写和重载的区别
    重载与重写是完全不同的语法现象,区别如下:
        重载是:“一个类中”定义的多个相同方法名,但“参数列表不同”的方法。在“编译时”,
    根据“传入参数的数据类型数据顺序”来决定“预先”绑定哪个方法。
        重写是:在“继承关系的子类里”定义“和父类方法签名完全相同”的方法,在程序“运行时”,
    根据“对象的类型”不同,“动态调度”,执行子类中重写的方法还是父类中的原始方法


    访问控制
    四个级别:public

    包的概念:
    同一个包中不能保存两个同名的类
    import语句:引用类名

    封装的意义:对外提供可调用的、稳定的功能
    好处:
    降低出错的可能性,便于维护
    内部变化,不会影响外部使用
    访问控制修饰符:
    public
    private:修饰的成员只能在本类的成员方法中调用
    protected修饰的成员:可以被同一个包中的类以及子类使用。
              java中规定,子类重写父类的方法,
              子类中的方法访问控制范围不能小于父类方法的控制范围
    默认访问控制的成员:仅在同一个包中可用

    默认访问控制的类:只可以在同一个包中使用

  • 相关阅读:
    Python中的单例模式
    硬件资产管理系统总结
    浏览器同源策略之JSONP、CORS
    设置全局的csrf跨站请求伪造
    keystone命令与client接口学习
    实验室双显示屏安装使用记录
    redhat 5.4 下rabbitMQ单机安装.md
    Android Studio Connection refused: connect 错误解决
    Add Google Maven repository and sync project
    Java向上转型和向下转型
  • 原文地址:https://www.cnblogs.com/zmdc/p/5285530.html
Copyright © 2011-2022 走看看