Java的对象和类

面向对象程序设计(简称 OOP)
要想使用 OOP,—定要清楚对象的三个主要特性:
•对象的行为(behavior):可以对对象施加哪些操作, 或者可以对对象施加哪些方法
•对象的状态(state ):当施加那些方法时,对象如何响应
•对象标识(identity ):如何辨别具有相同行为与状态的不同 对象
每个对象都保存着描述当前特征的信息。这就是对象的状态。对象的状态可能会随着时间而发生改变,但这种改变不会是自发的。对象状态的改变必须通过调用方法实现(如果不经过方法调用就可以改变对象状态,只能说明封装性遭到了破坏。)
类之间, 最常见的关系有
•依赖(“ uses-a”):如果一个类的方法操纵另一个类的对象,我们就说一个类依赖于另一个类。
•聚合(“ has-a”) : 聚合关系意味着类 A 的对象包含类 B 的对象
•继承(“ is-a”) : 子类继承父类的属性和行为,使得子类对象可以直接具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为。 Java只支持单继承,即只能拥有一个直接父类。
构造器(constructor ) :要想使用对象,就必须首先构造对象, 并指定其初始状态。再将方法应用在对象上。 在 Java 程序设计语言中, 使用构造器构造新实例。构造器是一种特殊的方法,用来构造并初始化对象。
构造器的名字应该与类名相同。因此 Date 类的构造器名为 Date。要想构造一个 Date 对 象, 需要在构造器前面加上 new 操作符:new Date()
也可以将一个方法应用于刚刚创建的对象。Date 类中有一个 toString 方法。这个方法将返回日期的字符串描述。下面的语句可以说明如何将 toString 方法应用于新构造的Date 对象上。
String s = new Date().toString(); 通常, 希望构造的对象可以多次使用, 因 此,需要将对象存放在一个变量中: Date birthday = new Date();
在这里插入图片描述
Date deadline; // deadline doesn’t refer to any object
定义一个对象变量 deadline, 它可以引用 Date 类型的对象。但是: 变量deadline 不是一个对象, 实际上也没有引用对象。此时,不能将任何 Date 方法应用于这个变量上。语句
s = deadline.toStringO; // not yet
将产生编译错误。必须首先初始化变量 deadline, 这里有两个选择。当然,可以用新构造的对象初始化这个变量:deadline = new Date();也让这个变量引用一个已存在的对象:deadline = birthday;现在,这两个变量引用同一个对象
在这里插入图片描述
一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。 在 Java 中,任何对象变量的值都是对存储在另外一个地方的一个对象的引用。new 操作符的返回值也是一个引用。Date deadline = new Date();有两个部分。表达式 new Date() 构造了一个 Date 类型的对象, 并且它的值是对新创建对象的
引用。这个引用存储在变量 deadline 中。可以显式地将对象变量设置为 null, 表明这个对象变量目前没有引用任何对象。deadline = null; 如果将一个方法应用于一个值为 null 的对象上,那么就会产生运行时错误.如下代码:

birthday = null;
String s = birthday.toStringQ; // runtime error!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乔二梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值