Java 2

对象与类

        类是所有面向对象的语言的共同特征,所有面向对象的语言都提供了这种类型。类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。对象是具有类类型的变量。类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。



   面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切事物皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。



    一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。在java中,任何对象变量的值都是对存储在另外一个地方的一个对象的引用。new操作符的返回值也是一个引用。



    之前的类一直都包含了简单的main方法,而JavaEE程序设计大多数类是没有main方法,这些类有自己的实例域和实例方法,一个完整的Java程序是由若干类组合在一起,其中只有一个类由main方法。



 1.静态域:

    如果将域定于为static,那么每个类中只有一个这样的域

    而每个对象对于所有的实例域却都有自己的一份拷贝

    也就是说,它属于类,而不属于任何独立的对象

    静态域被称为类域

2.静态常量:

   改变静态常量:通过本地方法可以绕过Java语言的存储控制机制

3.静态方法:

    静态方法是一种不能向对象实施操作的方法

    也就是没有隐式的参数

    可以认为静态方法是没有this参数的方法

    静态方法可以访问自身类中的静态域,该方法也可以省略关键字static

    3.1使用静态域有两种情况:

        一个方法不需要访问对象状态,其所需参数都是通过显示参数提供

        一个方法只需要访问类的静态域

4.工厂方法:

    通过静态工厂方法来构造对象



Java程序设计语言总是采用按值传递,也就是说,方法得到的是所有参数值的一个拷贝。

1.方法不能修改一个基本数据类型的参数(数值型或布尔型)

2.方法可以改变一个对象参数的状态,方法得到的是对象引用的拷贝,不是对象的拷贝,对象引用及其他拷贝同时引用同一个对象。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 7,891评论 2 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,795评论 1 32
  • 第一条 考虑使用静态工厂方法代替构造器 优势 有名称 不必每次调用的时候都创建一个对象 返回原返回类型的所有子类型...
    没有颜色的菜阅读 2,629评论 0 0
  • 第一章:Java程序设计概述 Java和C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能...
    loneyzhou阅读 5,034评论 1 7
  • 如果我爱你,你会不会明白这份爱里的一切,不是随便说说而已,你又知不知道,因为尴尬,却会成为遗憾。
    宜听阅读 1,027评论 0 0