- 类是构造对象的模板和蓝图
- 封装:数据隐藏,将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式
- 对象中的数据称为实例域,操纵数据的过程称为方法
- 实现封装的关键在于绝对不能让类中的方法直接地访问其他类的实例域,仅通过对象的方法与对象数据进行交互,封装给对象赋予了“黑盒”特征,提高了重用性和可靠性
- 对象的三大特征:(1).对象的行为(可以给对象施加哪些操作或方法);(2).对象的状态:(给对象施加操作或方法时,对象如何响应);(3).对象的状态:(如何辨别具有相同行为和状态的对象)
- 对象状态的改变必须调用方法实现(如果不经过方法 调用就实现对象状态的改变,只能说封装性遭到破坏)
- 设计类:类寻找名词、方法寻找动词
- 类之间的关系:(1).依赖(use-a);(2).聚合(has-a);(3).继承(is-a)
- 构造对象:使用构造器构造新实例并初始化对象,
- 构造器的名字应与类名相同;构造器可以有0个或多个参数;构造器没有返回值;构造器总是伴随new操作一起调用;不能再构造器中定义与实例域重名的局部变量
- 为何用Date类描述时间:日期表示的格式不同,例如:日/月/年;年/月/日
- 如果构造的对象在程序中多次使用,可以将对象存放在一个变量中
- Date类用来表示时间点,GregorianCalendar类用来表示日历,通常用Calendar类
- final修饰类不能继承;修饰变量不可修改;修饰方法不可重写
- NumberFormat类使用工厂方法产生不同风格的格式的对象
- 按值调用:方法接收的是调用者提供的值;java程序设计语言总是按值调用,方法得到的是所以参数值的一个拷贝值
- 按引用调用:方法接收的是调用者提供的变量地址
- 方法参数类型:基本数据类型、对象引用
- java程序设计语言中对象引用实际进行的是值传递
- 对象构造:重载、重写
- 重载(静态多态性):
-
方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。
重载Overloading是一个类中多态性的一种表现。
- java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。
调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。
- 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
23.重写(动态多态性):
-
父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。
-
但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。
方法重写又称方法覆盖。
若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。
如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
-
子类函数的访问修饰权限不能少于父类的;
24.初始化数据域的方法: