复习JavaSE 4.对象与类

类的三种关系
依赖 uses-a 聚合 has-a 继承 is-a

依赖
订单类使用账户类,因为订单类需要询问用户对象的信用状态 但是上品类不依赖账户类
因为商品类与账户类无关
依赖关系 就是一个类的方法操纵另一个类对象
将依赖类减少到最少降低耦合

聚合
一个类对象包含一部分另一个类对象


LocalDate类 制作日历

1获取当前月份和日期
2获取当前月第一天是星期几
3是星期几号就空几个空
4确定第一天位置 循环遍历每一天
如果是当前日期 用*表示
到周一重新换行

public class CalenderTest {

    public static void main(String[] args) {

        LocalDate date=LocalDate.now();
//        创建当前类对象
        int month=date.getMonthValue();
        int today=date.getDayOfMonth();
//        获取月和日
        date=date.minusDays(today-1);
       DayOfWeek weekdy=date.getDayOfWeek();
       int value=weekdy.getValue();

//        当前天数减去 today-1
        System.out.println("Mon Tue Wed Thu Fri Sat Sun");
        for (int i=1;i


用户自定义类
源文件必须与public类的名字相匹配
在一个源文件中 只能有一个公有类 但是可以有多个非公有类

设置实例域的值 应该提供以下三项
一个私有的实例域
一个公有的域访问器
一个公有的域修改器

不要编写返回引用可变对象的访问器方法
值可能通过其他方法被破坏

一个类的方法可以访问这个类的任何一个对象的私有域

{
      return name.equals(other.name);
}

if(Tony.equals(Herry))


私有方法
辅助方法不应成为成为公有接口的一部分 例如 方法中的方法


final 修饰符 大多应用于基本数据类型 (构造对象是 就初始化的域)
静态域是共享的、
静态域进行初始化的代码比较复杂的时候 可以使用静态初始化块

static
{
}

静态方法是一种不想对象实时操作的方法,不能访问实例域
可以访问自身类中的静态域


Java 按值调用的参数传递方法
方法参数两种类型
1 基础数据类型
2 对象引用
一个方法不可能秀给一个基本数据类型的参数
一个方法肯依改变一个对象的参数状态
一个方法不能让对象参数引用一个新的对象


构造器 显示给域赋予初值
参数名:aName aSalary
this 指示隐式参数 也就是所构造的对象的参数
this.name=name;
this 也可以调用另一个构造器 同类中 在构造器的第一行
this()


初始化块在构造器前执行


包名:为公司注册域名的逆序形式
方法注释:
param 参数描述
return 返回类型描述
throws 抛出异常描述


类设计技巧:
1 数据私有
2 数据初始化 显示初始化 可以提供默认值
在所有构造器中设置默认值 不要依赖于系统的默认值
3 不要使用过多的基础类型 可以封装到另一个类中
4 不是所有域都需要独立的域访问器 和更改器
5 将指责过多的类进行分解
6 类名方法名可以提现他们的职责
7优先使用不可变量

你可能感兴趣的:(复习JavaSE 4.对象与类)