美文网首页Java
复习JavaSE 4.对象与类

复习JavaSE 4.对象与类

作者: 第二套广播体操 | 来源:发表于2019-02-25 20:39 被阅读0次

    类的三种关系
    依赖 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<value;i++)
                System.out.print("    ");
            while (date.getMonthValue()==month)
            {
                System.out.printf("%3d",date.getDayOfMonth());
                if (date.getDayOfMonth()==today)
                    System.out.print("*");
                else
                    System.out.print(" ");
                date=date.plusDays(1);
                if (date.getDayOfWeek().getValue()==1)
                    System.out.println();
            }
        }
    }
    


    用户自定义类
    源文件必须与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.对象与类

        本文链接:https://www.haomeiwen.com/subject/yjqnyqtx.html