对象最重要的两个组成部分:属性(值数据,名词)和行为(动词)。
类是对象的抽象,对象是类的实例。
面向对象三大特征:封装、继承、多态
封装包括:组装和信息的隐藏
基本类型初始化为0,引用类型为空(null)
传对象是传引用值(里外都变),传基本数据是值传送(里变外不变)
程序员不能干涉垃圾回收机制(GC),只能等其自动回收
new Student().name 匿名对象,只用一次,用完被GC回收
四种修饰符:
public:都可以操作
protected:同包,子类能操作
默认:同包可以操作
private:自己才能操作
属性一般都用private修饰,用get、set来引用和更改属性
对象之间的关系有has 和 use 之分,在引用时若是has关系,直接将整个类当成属性赋在类中,若是use关系,可以选择调用而不在类里面赋属性
has关系:
private ClassName myClass;
public void teach() {
System.out.println(this.getName() + "老师于" + this.myClass.getDate() + "在"
+ this.myClass.getAddress() + "教授" + this.myClass.getName());
}
use关系:
public void wrongNumber(Driver driver, Owner owner) {
if (driver.getCarNumber().equals(owner.getCarNumber())) {
System.out.println("车主" + owner.getName() + "未套牌");
} else {
System.out.println("车主" + owner.getName() + "有套牌现象,"+"交警"+this.getName()+"对其进行罚款");
}
}