设为首页 加入收藏

TOP

Java基础面向对象之类与对象
2017-01-20 08:15:23 】 浏览:5957
Tags:Java 基础 面向 对象 之类

    以一种组建化的形式进行代码设计


    1)在面向对象程序设计中包含有如下几种特性


        ?封装性:保护内部结构的安全性


        ?继承性:在已有的程序结构上扩充新的功能


        ?多态性:在某一个该娘范围内满足


     2)面向对象开发分为以下几个步骤:


        OOA(面向对象分析)


        OOD(面向对象设计)


        OOP(面向对象编程)


    1)了解类与对象的关系


      ?认识类与对象


        类与对象是整个面向对象之中最基础的组成单元,类是共性的一个集合,而对象是某一个体的产物。


        例如:


           人类(姓名,年龄,工作,除了这些属性类还包括一些方法比如吃饭,玩等等)


           对象(对象就是具体到某一个人)


?


        类实际上是对象操作的模板,但类不可以直接使用,必须通过实例化对象来使用


      


    2)掌握类与对象的定义结构


      ?类与对象的基本定义


        一个类需要包含属性和方法


        定义类:


        类现在已经产生了,但是如果要使用类,就必须得实例化对象。


?


          实例化对象的两种方式:


            ?声明并实例化对象: 类名称 ?对象名称 = new ?类名称() ;


            ?分布完成:


              类名称 ?对象名称 ?= ?null;?


              对象名称 = ?new ?类名称() ;


        引用数据类型与基本数据类型最大的区别就是,引用数据类型需要内存的开辟及使用,关键字 new 就是开辟内存空间,既只要是引用数据类型想要使用,就必须使用关键字new来开辟内存空间 ? ?


        使用类:


        对象.属性:表示类操作属性中的内容


        对象.方法():表示类操作方法中的内容


对以上程序进行分析:


堆内存:保存对象的属性内容,一般使用new关键字来开辟堆内存空间


栈内存:保存的是一块堆内存的地址,从严格来说占内存保存的是对象的地址,但简单理解栈内存中保存的就是对象的名称。


    


如果只声明了对象而没有实例化对象就会出现java.lang.NullPointerException(空指向)异常 。 只要是引用数据类型就有可能出现此异常。


 3)掌握对象的内存分析


引用数据的初步分析


 


对象的引用传递


    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?   ?


此时两个对象指向 的是同一块内存空间,所以任何一个对象修改了属性的内容,都会影响另一个对象。 在引用操作过程中,一块堆内存可以被多个栈内存索引用。但是反过来,一个栈内存只能保存一块堆内存的地址。


继续观察引用传递


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


通过内存的分析可以看出来,在引用数据关系里面,一块没有栈内存指向的堆内存的空间,就将成为垃圾,所有的垃圾会被垃圾回收机制(GC)不定期的进行回收,回收之后就会释放掉其所占的内存。


        总结:


          1、类描述的是公共的特征,类必须要实例化对象才可以使用。


          2、堆内存中保存的是所有属性的内容,而栈内存保存的是堆内存的地址。


          3、垃圾空间指的是没有栈内存空间引用的堆内存空间。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java基础之内部类 下一篇JavaScript中遍历数组 最好不要使..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目