Java 面向对象程序设计的基础知识




绝大多数的Java程序员不必关心对象的具体实现,只要保证对象满足他们的需求就可以了。
关于OOP
OOP 词汇表

    1.encapsulation;封装, 有时也称为数据隐藏
    2.instance field :对象中的数据被称为实力域
    3.method: 操纵数据的过程被称为方法
    4.state:  状态
   

OOP 的另外一原则会让用户自定义Java类变得轻而易举, 这就是:类可以通过扩展另一个类来建立。 事实上, 在Java中, 所有的类都源于一个“神通广 大的超类”,他就是object、

对象:要想使用OOP,一定要清楚对象的三个主要特性
    1.对象的行为(behavior)-----可以对对象施加哪些操作,或可以对对象施加哪些方法
    2.对象的状态(state)-----当施加那些方法时, 对象如何相应
    3.对象标识(identity)----如何区分具有相同行为与状态的不同对象


如果没有经过方法调用而改变对象状态, 就说明封装性一定遭到了破坏。**************



类之间的关系

最常见的关系有: 依赖-------聚合-------继承
如果一个类的方法操纵另一个类的对象, 我们就说一个类依赖于另一个类
应该尽可能的将相互依赖 的类减至最少。用软件工程的术语来说:就是使类之间的耦合度最小


对象与对象变量
    要想使用对象, 就必须首先构造对象, 并制定其初始状态。 然后, 对对象施加方法。
   


对象变量:
    可以显式的将对象变量设置为空(null), 表明这个对象变量目前没有引用任何对象
   
    一定要认识到:一个对象并没有实际包含一个对象, 而仅仅引用一个对象

    在Java中, 任何对象变量的值都是对存储在另外一处的一个对象的引用。new操作符的返回值也是一个引用。
   
    变量不会自动的初始化为NULL, 而必须对它们进行初始化, 调用new或将它们设置为null



对属性做出修改的方法 被称为更改器方法, 仅访问属性而不加修改的方法被称为访问器方法。


静态方法
    静态方法是不能想对象实施操作的方法。例如:Math类的Pow方法就是一个静态方法。 表达式:Math.pow(x,a);  计算幂

。  它在运算的时候,不使用任何Math对象。换句话说, 没有隐式的参数。
   
    可以认为静态方法是没有this参数的方法(在一个非静态的方法中, this参数表示该方法的隐式参数。)

    因为静态方法不能操作对象, 所以不能在静态方法中访问实例域。但是,静态方法可以访问自身类中的静态域。

在什么时候使用静态方法:
    1.当一个方法不需要访问对象状态,,其所需参数都是通过显式参数提供的。
    2.当一个方法只需要访问类的静态域。


参 数传递
   
    *********一个方法可以修改传递引用所对应的变量值, 而不能修改传递值调用所对应的变量值***********/


在Java语言中, 方法参数的使用情况:
    1.一个方法不能修改一个基本数据类型的参数(即数值型和布尔型值)
   
    2.一个方法可以改变一个对象参数的状态

    3.一个方法不能让对象参数引用一个新的对象。


类设计技巧:
   
    1. 一定将数据设计为私有

    2.一定要对数据初始化

    3.不要在类中使用过多的基本数据类型

    4.不是所有的属性都需要独立的属性访问器或属性更改器
   
    5.使用标准格式进行类的定义

    6.将职责过多的类进行分解

    7.类名和方法名要能够体现他们的职责

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值