java系列理论----对象与类

java语言和C++一样,也有对象和类,也是属于OOP(面向对象程序设计)语言之一,并且JAVA是完全面向对象,这也就是为什么没有指针的原因。

  • OOP(Object-oriented programming)和PP(Procedural programming)
      面向过程是指采用程序调用或函数调用来实现流程控制,只要体现在命令式编程。主要强调动作——告诉电脑该怎么做。

      Pascal语言的设计者Niklaus Wirth在其著名的《算法+数据结构=程序》(Algorithms + Data Structures = Programs)中明确表述程序员的工作方式,算法是第一位,数据结构是第二位,确定如何操作数据,在决定如何组织数据。

      面向过程调换了工作顺序,数据被放在第一位,其次再考虑数据的算法和数据结构。

  • 类与对象
     首先需要清楚:

  • 类:构造对象的模板————生产的机械和模具
  • 对象:类的具体体现————生产出来的具体物件
  • 实例化:由类构造对象的过程
  • 封装:隐藏数据的实现方式    对象的数据为实例域   操作数据的过程为方法   实现封装的关键在于不能让其他类的方法直接访问该类的实例域。封装体现黑盒模型,只需要了解方法,不需要知道盒子的借口功能实现过程。
  • 继承:扩展一个类
  • 对象行为:
  • 对象状态:施加方法,做出什么响应
  • 对象的标识:如何判断不同的方法和操作

 类之间的关系:

    1、依赖("uses-a"):用A类的方法操作B类的对象

    2、聚合("has-a"):A类包含B类的对象

    3、继承("is-a"):继承方法和对象,下一篇再讲

特别Math类只有类没有对象,只是封装了接口功能。

     若使用对象,必须先要构造对象,一般用new新建对象,不用new构造对象只是对象引用,不是完全的对象,不是用构造器构造的对象。必须用构造器构造初始化其对象,或者引用一个已经存在的对象

    对象变量并没有实际包含一个对象,仅仅是引用一个对象

构造对象
      String s =new Data().toString;

      s:对象引用

      new Data():才是对象,表示在堆中新建一个Data对象,()表示启用构造器

     实例化需要final

     再看语句

Vehicle veh1;
veh1 = new Vehicle();
  是标准的对象创建,先创建对象引用,将新建的对象引用指向新建的类对象。
   Vehicle veh2;
  veh2 = veh1
此处发生复制行为,但是对象是不可以复制的,被复制的只是对象引用,v2指向v1指向的对象
由此可以看出对象引用相当于C++里面的指针




参考文献:

[1]http://blog.163.com/luyufen_luise/blog/static/5777392520086230367627

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值