java学习之面向对象

时间:2023-02-25 23:32:34
·对象:系统中用来描述客观事物的一个实体。
类:是对象的抽象化。
包:
接口:
内部类:

·面向对象编程的特征:
1.封装性。对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节
  含义:对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位
             信息隐蔽,即尽可能隐蔽对象的内部细节,只保留接口
    对象以外的部分不能随意存取对象的内部数据
2.继承性。特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。
3 .  多态性。在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为



      OOA-Object Oriented Analysis     面向对象的分析
  
  OOD-Object Oriented Design      面向对象的设计
  
  OOI-Object Oriented Implementation  面向对象的实现
合适的方法用在合适的类里边,抽出问题的对象和对象间的关系,每个对象都有自己的属性,一般彼此不同。,类可以看成一类对象的模板,对象可以看成类的一个实例。

类(对象)之间的关系:
关联关系,关系不甚紧密,反映到代码中一个类的方法的参数是另一类的对象。
继承关系,一般和特殊,判断依据 XX是一种XX,产生继承树。
聚合关系,整体和部分,判断依据XX是XX的一部分,聚集和组合
实现关系,
多态

面向对象的思维方法:
1 考虑问题中与有什么对象和什么类(找名词)
2 这里类和属性应该具有的方法和属性
3 类和类具备了什么样的关系

·对象是Java程序的核心,在Java程序中“万事万物皆对象”。使用对象先定义类。
·对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体。
·类是用来创建同一类型对象的模板,在一个类里面定义了对象所应有成员变量及方法
·J2SDK提供了很多类,也可自己添加。

为什么使用对象?
·Reusable、Extensibility、维护和替换更加方便
组件-比对象更高的层次上的抽象(二进制级别)
EJB 、Web Service、、COM

·Java中使用变量:声明、初始化(局部变量必须初始化)、 使用
·定义成员变量可以对其初始化,也可以不初始化,java默认对齐
byte(0)、short(0)、int(0)、long(0L)、char('\u0000')、float(0.0F)、double(0.0D),boolean(false)、所有引用类型(null)

引用:除4类8种之外,相当于指针
String s;类是静态的概念,代码区;对象是new出来的,位于堆内存,执行的时候才占用内存;返回值暂时分配空间
对象的创建和使用。
·必须使用new关键字创建对象
·同一类的每个对象有不同的成员变量存储空间;同一类的每个对象共享该类的方法。

构造方法(构造函数)
·使用new+构造方法 创建一个新的对象
·构造函数是定义在Java类中的一个用 来初始化对象的函数。
·规则:和类名相同, 不能有任何返回值,不写void(普通方法,不是构造方法)
·系统默认调用 “类名()”构造方法

·类名的首字母大写
·变量名和方法名的首字母小写
·运用驼峰标识
没有任何一个引用指向某内存空间,则可以垃圾回收