美文网首页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.对象与类

    类的三种关系依赖 uses-a 聚合 has-a 继承 is-a 依赖订单类使用账户类,因为订单类需要询问用户对象...

  • 上周复盘2021.03.29

    1.每天跑步四公里完成。 2.复习了大章对象与类。 3.复习了大章继承 4.复习了大章接口,lambda表达式与内...

  • JavaSE学习笔记——对象与类

    面向对象程序设计的基本概念 面向过程与面向对象的区分传统的程序设计使用的是,结构化程序设计方法,通过设计一系列的过...

  • Python-面向对象1

    复习 面向对象编程 类的声明语法 点语法与名称空间 类与对象的声明 类的初始化方法 类的方法分类 类的三大特性 封装

  • Java 学习路线

    JavaSE 基础语法 面向对象 异常处理 常用类(包装类、String) 集合框架及泛型 IO 流 多线程 网络...

  • 黑马程序员面试宝典(Java)Beta6.0免费下载

    场景 JavaSE基础 面向对象特征以及理解 访问权限修饰符区别 理解clone对象 JavaSE语法 java有...

  • objc中的类方法和实例方法有什么本质区别和联系?

    类方法: 1.类方法是属于类对象的2.类方法只能通过类对象调用3.类方法中的self是类对象4.类方法可以调用其他...

  • ruby类总结

    类 1.new 实例化对象 3. .class查看对象属于哪个类 4. instance_of? 判断对象是否属于...

  • iOS复习之RunTime

    1. 对象、类对象、元类对象2. 消息传递机制3. 消息转发流程4. Method Swizzling (交换方法...

  • javaSE_day05_类和对象

    类和对象 类:相似对象的集合,抽象的概念。 对象:一切可以被描述的事物,实体。 属性:特征。 方法:动作,行为。 ...

网友评论

    本文标题:复习JavaSE 4.对象与类

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