zoukankan      html  css  js  c++  java
  • java面向对象基础总结

    本周学习了java面向对象的一些基本概念,介绍了它三个主要特性,封装性、继承性、多态性,类与对象的关系,栈堆的关系,三个特性中主要讲了封装性,其他两个后面再讲。
    类实际上是表示一个客观世界某类群体的一些基本特征抽象、
    类由属性和方法构成
    对象则是表示一个具体的东西
    类与对象的另一种解释:

    创建类:

    class 类名称{
           数据类型    属性;
           ..............
           public   返回值的数据类型   方法名称 (参数1,参数2....){
                    程序语句:
                    【return 表达式】
    }
    }
    

    创建完类之后,要使用这个类则需要通过对象,下面创建对象:

    类名   对象名 = null;                            \声明对象
    对象名  =   new  类名();                 \实例化对象,只要有关键字new就表示开辟新的堆内存空间 
    

    所有的对象名称都保存在栈内存中,而对象的具体内容则保存在对应的堆内存中。
    在栈内存中实际上保存的是堆内存空间的访问地址。

    访问对象中的属性或方法:

    访问属性:对象名称.属性名
    访问方法:对象名称.方法名()
    

    主意!!!如果一个对象要被使用,则对象必须被实例化。如果没有被实例化而直接调用了对象里的属性或方法,则程序会报异常。

    垃圾空间的产生:

    对于垃圾空间java本身提供了一个垃圾收集机制(简称GC,Garbage Collection),会不定期的释放不用的内存空间,只要对象不使用了,就会等待GC释放空间。

    下面讲三个主要特点之一的封装性:

    所谓封装就是指对外部不可见。
    封装格式:

    为属性封装:private 属性类型  类型名称;
    为方法封装:private 方法返回值  方法名称(参数列表){ }
    

    对于封装后的属性无法直接访问

    访问封装属性要使用setter和getter方法,在各个程序中,反射机制都会利用这两个设置和取得属性内容。


    封装是面向对象的方法所遵循的一个重要原则。它有两个含义:一是指把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位即“对象”中。另一层含义指“信息隐蔽”,把不需要让外界知道的信息隐蔽起来,有些对象的属性及行为允许外界用户知道或使用,但不允许更改,而另一些属性或行为,则不允许外界知晓;或只允许使用对象的功能,而尽可能隐蔽对象实现功能的细节。
    封装机制在程序设计中表现为,把描述对象属性的变量及实现对象功能的方法结合在一起,定义为一个程序单位,并保证外界不能任意更改其内部的属性值,也不能任意调动其内部的功能方法。
    封装机制的另一个特点是,为封装在一个整体内的变量及方法规定了不同级别的“可见性”或访问权限。
    “-”这个表示封装属性

    还有第二个属性继承性:

    在java程序设计中,已有的类可以是java开发环境所提供的一批基本的程序---类库。
    用户开发的程序类是继承这些已有的类。这样,现在类所描述的属性及行为,即已定义的变量和方法,在继承产生的类中完全可以使用。被继承的类称为父类或超类,而经继承产生的类称为子类或派生类。根据继承机制,派生类继承了超类的所有成员,并相应地增加了自己的一些新的成员。
    若一个子类只允许继承一个父亲,称为单继承;若允许继承多个父亲,称为多继承。目前许多面向对象语言不支持多继承,而java通过接口(interface)的方式来弥补。

    第三个属性多态性:

    多态是允许程序中出现重名现象。
    一个是方法多态:在一个类中,允许多个方法使用一个名字,但方法的参数不同,完成的功能也不同。
    另一个是对象多态:子类对象可以与父类对象进行互相的转换,而根据其使用的子类的不同完成的功能也不同。
    现在对后两个进行简单的介绍。后面会详细讲解

  • 相关阅读:
    提纲挈领webrtc之vad检测
    提纲挈领webrtc音频处理算法之写在前面的话
    搭建git远程服务器三步骤
    详解m4文件
    chrome浏览器被reimage pair 劫持怎么处理
    linux查看系统32位还是64位
    git gc和fsck的用法
    ubuntu 16.04 的64位 安装arm-none-linux-gnueabi-gcc的步骤和问题解决
    利用终端命令实现进入ntfs分区有两种方法。
    ubuntu-14.10下,安装gcc交叉编译器遇到问题及解决方法
  • 原文地址:https://www.cnblogs.com/xiao--liang/p/11484741.html
Copyright © 2011-2022 走看看