Java学习笔记10

面向对象程序设计 (简称OOP)

面向对象的程序是由对象组成的,
每个对象包含对用户公开的特定部分和隐藏的实现部分

4.1.1 类
 类(class) 是构造对象的模版或者蓝图

 由类构造 (construct) 对象的过程,叫做创建类的实例 (instance)

 封装 (encapsulation, 有时成为数据隐藏)
 将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。
 对象中的数据称为实例域 (instance field),
 操纵数据的过程称为方法 (method)
 实现封装的关键在于绝对不能让类中的方法直接的访问其他类的实例域
 程序仅通过对象的方法与对象数据进行交互

 通过扩展一个类来简历另外一个类的过程称为继承 (inheritance)

 4.1.2 对象
 对象的三个重要特性
 1.对象的行为 (behavior)
 可以对对象施加哪些操作,或者可以对对象施加哪些方法
 2.对象的状态 (state)
 当施加那些方法时,对象如何相应响应
 3.对象标识 (identity)
 如何辨别具有相同行为与状态的不同对象

 4.1.3 识别类
 首先从设计类开始,然后在往每个类中添加方法

 4.1.4 类之间的关系
 在类之间,最常见的关系有

 依赖 ("uses-a")
 例如,Order类使用Account类是因为Order对象需要访问Account对象查看信用状态
 但是,Item类不依赖于Account类,这是因为Item对象与客户账户无关
 因此,如果一个类的方法操纵另一个类的对象,就说一个类依赖于另一个类
 应该尽可能的将相互依赖的类减至最少,以防一个类改变时导致另外一个类出现bug
 术语称为 “让类之间的耦合度最小”

 聚合 ("has-a")
 例如,一个Order对象包含一些Item对象
 聚合关系意味着类A的对象包含类B的对象

 继承 ("is-a")
 例如,Rush Order类由Order类继承而来。
 在具有特殊性的Rush Order类中包含了一些用于优先处理的特殊方法,而其他的方法都是从Order类中继承而来

import java.time.LocalDate;// 日历
import java.util.Date;// 时间

public class Step10 {
    public static void main(String[] args){
        String s = new Date().toString();
        Date bir = new Date();// 表达式 new Date()构造了一个Date类型的对象,并且它的值是对新创建对象的引用。这个引用存储在变量bir中
        System.out.println(s);
        System.out.println(bir);

//        可以提供年月日来构造对应一个特定日期的对象
        LocalDate birthday = LocalDate.of(2000, 3, 31);
//        当有了一个LocalDate对象,
//        可以使用方法getYear、getMonthValue、和getDayOfMonth来得到年月日
        int year = birthday.getYear();
        int month = birthday.getMonthValue();
        int day = birthday.getDayOfMonth();
        int d = birthday.getDayOfYear();
        System.out.println(year);
        System.out.println(month);
        System.out.println(day);
        System.out.println(d);
//          plusDays方法会得到一个新的LocalDate
//          这个新日期对象是距当前日期对象指定天数的一个新日期
        LocalDate aThousandDaysLater = birthday.plusDays(1000);
        System.out.println(aThousandDaysLater);

        System.out.println(birthday);

        System.out.println(LocalDate.now());


    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值