第七章 面向对象编程

来源:互联网 发布:数控攻牙编程 编辑:程序博客网 时间:2024/05/18 14:28

java 笔记   第七章  面向对象编程

一、类和对象的概述

1.理解面向对象

     结构化程序设计  :(c语言  单片机、嵌入式开发)

                                    程序 = 算法 + 数据结构

                                    算法第一,数据结构第二

     面向对象程序设计OOP(Object-Oriented Programming)

             程序 = 对象 + 对象+ ........

             数据第一,算法第二     

            关键:让每一个对象负责执行一组相关任务

     面向对象编程的特性

  • 万物皆对象
  • 程序是一组对象彼此之间在发送消息
  • 每个对象都有自己的内存占用,可以组成更大的对象
  • 每个对象都有类型,特定类型的所有对象可以接收相同消息
2.类和对象的概念、区别联系
     概念:类 :是创建对象的模板和蓝图
                        是一组类似对象的共同抽象定义。
                类:具备相同特征,同一类事物的集合。
                类  是对象的类型,集合,模板。
              对象:客观存在、具体的东西 
            
     区别:
  • 类是静态定义                
  •  对象是动态实例
  • 程序代码操作的是对象而不是类
  • 建模得到的是类而非对象
     联系:
  • 类是对象的定义
  • 对象的产生离不开类这个模板
  • 类存在的目的是实例化得到对象
3.对象的创建和使用
    类是由属性(静态特征)和方法(动态特征)
    属性也叫全局变量,成员变量,也叫实例变量(对象也叫实例)

    全局变量:在方法体外面声明的变量
    特点:在类中的任何方法中都可以直接访问。
               全局变量可以不初始化而直接使用,因为JVM 会为所有的全局变量赋予一个默认值。
    局部变量:必须初始化,JVM不会为局部变量赋予默认值。


    创建对象语法:类名 对象名 = new 类名();
          Student s = new Student();
          使用导航符“.”来访问对象的属性和方法
   s.name  //s.introduction();  

    对象的保存
    栈:保存某个类(Student)的对象在堆中的地址   相当于一个遥控器 (Student是一个类)
    堆:保存属性和方法的内存空间。属性和方法分开保存。
           属性: 在堆中给对象的属性分配内存,有多少个对象就会分配多少份内存。
           方法:一个类中的方法,只会占用一块内存空间,为所有对象共享。
     s:   对象名、引用名称,对象的地址,保存在占中

          栈:          堆:
       Student s = new Student();

    创建对象:每创建一个对象,都会在堆中为对象的属性分配独立的内存空间
           但是不会每次都为方法分配独立的内存空间。
    
  一个类中的所有方法 在内存中都只各自占用一份内存空间,为该类所有的对象共享。
  这是因为,方法一般都是用来操作数据的,对于不同对象来说,只是操作的数据不同,
  而操作数据的方式是相同的,所以没有必要为每一个对象的方法都分配一份独立的内存空间。

    方法语法:访问修饰符  返回值类型 方法名称(参数列表){方法体}
          public void introduction(){    
 }

    方法的签名:方法名+参数列表;
    注意:在同一类中,不允许有签名相同的方法存在。

    访问修饰符 :
    作用:用来限制该方法的访问范围(权限)
    public  、protected(包+继承)  、缺省(包访问权限) 、  private 
    public: 公有的,任何对象都可以访问

     返回值类型:该方法执行之后对外提供的结果的类型
                  没有返回值   使用关键字  void
    参数列表:执行该方法所需要的数据

1 0
原创粉丝点击