核心卷1读书随记Day1_2

Java中所有类来自Object

类之间关系

依赖 一个类的方法使用或操纵另一个类的对象 ,但软件工程要求尽量减少耦合

聚合 类A的对象包含类B的对象 订单中有许多商品

继承 更特殊的类与一般的类

构造器(构造函数)与类名相同 要想构造对象 要在construct 前+new

希望对象多次使用 将对象存放在变量中 对象变量并没有实际包含一个对象 它只是引用一个变量 类似 C++的对象指针 Java null引用对应C++ NULL指针

所有Java对象存储在堆中

Java 必须使用clone方法获得对象的完整副本 C++ 支持复制构造器 和赋值运算符实现对象的自动复制

C++ 带有const后缀是访问器 无则是更改器 Java 无明显语法区别

完整程序会有多个类 , 其中只有一个类有main方法

1,多个源文件可使用通配符 2,Java可以认为内置make功能 (自动搜索,更新后自动重新编译)

对象中的数据称为实例字段 不要在构造器中定于与实例字段同名的局部变量

null 表示没有引用任何对象。 类似于“索引越界”异常:对null值应用一个方法。为了一开始就不导致异常有两种解决方法 ,1 宽容型 把null参数转换为一个适当的非null值
if( n == null) name = “unknown”;else name = n
Object便利方法 name = Objects.requireNonNull(n,“unknow”)
2 严格型 干脆拒绝null参数
Objects.requireNonNull(n,“the name cannot be null”)
name = n

如果要接受一个对象引用作为构造参数 就要问问自己:是不是真的希望接受可有可无的值。如果不是那么“严格型”方法更合适

Java中所有方法必须在类内部定义,但并不表示它们是内联方法,这由JVM决定。 C++ 如果在类内部定义方法 自动成为内联

static字段 属于类 而不属于单个的对象 静态方法可以访问静态字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值