Java核心技术-对象与类

1、类之间的常见关系:依赖 聚合 继承
2、构造器的名字应该与类名相同 例:构造一个Date对象 new Date()
希望构造的对象多次使用,需将对象放在一个变量中 Date birthday = new Date();
3、在对象与对象变量之间存在着一个重要的区别
在里插入图片描述
4、Date类与LocalDate类
用来表示时间点的 Date 类;用来表示大家熟悉的日历表示法的 LocalDate 类。
不要使用构造器来构造 LocalDate类的对象。实际上,应当使用静态工厂方法 (factory method) 代表你调用构造器。
LocalDate.now() 会构造一个新对象,表示构造这个对象时的日期。 或者 LocalDate newYearsEve = LocalDate.of(1999, 12, 31) ;
在这里插入图片描述
Date 类还有 getDay、getMonth 以及 getYear 等方法
5、构造器:构造器与类同名
每个类可以有一个以上的构造器
构造器可以有 0 个、1 个或多个参数
构造器没有返回值
构造器总是伴随着 new 操作一起调用
6、不要在构造器中定义与实例域重名的局部变量。
在这里插入图片描述
7、final
构建对象时必须初始化这样的域。也就是说, 必须确保在每 一个构造器执行之后,这个域的值被设置, 并且在后面的操作中, 不能够再对它进行修改。 例:private final String name;
final 修饰符大都应用于基本(primitive) 类型域,或不可变(immutable) 类的域(如果类 中的每个方法都不会改变其对象, 这种类就是不可变的类。例如,String类就是一个不可变 的类)。
final 关键字只是表示存储在 evaluations 变量中的对象引用不会再指示其他 StringBuilder 对象。不过这个对象可以更改。
8、静态域static
如果将域定义为 static, 每个类中只有一个这样的域。它属于类,而不属于任何 独立的对象。
9、静态方法
静态方法是一种不能向对象实施操作的方法。 Math.pow()在运算时,不使用任何 Math 对象。即,没有隐式参数
但是,静态方法可以调用自身类中的静态域。
10、方法参数
一个方法不可能修改一个基本数据类型(数字,布尔)的参数。但可以改变对象的引用。
11、重载
多个方法有 相同的名字、不同的参数,便产生了重载。
有两个名字相同、 参数类型也相 同却返回不同类型值的方法。
12、默认域初始化:没有显示给域赋值,就会被自动地赋为默认值: 数值为 0、 布尔值为 false、 对象引用为null
显示域初始化:在执行构造器之前,先执行赋值操作。可以是常量也可以是方法。
调用另一个构造器:隐式this
初始化块
13、由于初始化数据域有多种途径,所以列出构造过程的所有路径可能相当混乱。下面是调 用构造器的具体处理步骤:
1 ) 所有数据域被初始化为默认值(0、false 或 null)。
2 ) 按照在类声明中出现的次序, 依次执行所有域初始化语句和初始化块。
3 ) 如果构造器第一行调用了第二个构造器,则执行第二个构造器主体
4 ) 执行这个构造器的主体.
14、类的导入
一个类可以使用所属包中的所有类, 以及其他包中的公有类(public class)。
采用两种方式访问另一个包中的公有类
1)在每个类名之前添加完整的包名。 例如: java.tiie.LocalDate today = java.tine.LocalDate.now();
2)import:使用了 import 语句,在使用类时,就不必写出包的全名了。 可以使用 import 语句导人一个特定的类或者整个包。
import 语句应该位于源文件的顶部 (但位于 package语句的后面)
15、静态导入
import 语句不仅可以导人类,还增加了导人静态方法和静态域的功能。
无
16、类路径
类存储在文件系统的子目录中。类的路径必须与包名匹配。
类文件也可以存储在JAR(Java归档)文件中。在一个 JAR 文件中, 可以包含 多个压缩形式的类文件和子目录, 这样既可以节省又
可以改善性能。
17、注释
每个 /** . . . */ 文档注释在标记之后紧跟着自由格式文本(free-form text)。标记由@开 始, 如@author 或@param。
类注释:类注释必须放在 import 语句之后,类定义之前。
方法注释:在这里插入图片描述
通用注释
需要注意,一定要使用井号(#),而不要使用句号(.)分隔类名与方法名,或类 名与变量名。
18、类设计技巧
1. 一定要保证数据私有
2. 一定要对数据初始化
3. 不要在类中使用过多的基本类型
4. 不是所有的域都需要独立的域访问器和域更改器
5. 将职责过多的类进行分解
6. 类名和方法名要能够体现它们的职责
7. 优先使用不可变的类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值