无参构造方法是用来初始化数据
方法的重载:方法名相同,参数不同(数量、类型、顺序)
静态变量可以类名直接访问
实例方法里不能定义static
静态方法只能调用静态变量和静态方法,不能调用属性
静态块 类成员 先调用 在删除对象之前调用
static{
}
extends继承
继承父类所有的属性和方法(private除外)
子类的构造方法会调用父类的构造方法,如果没有明显调用,则调用默认空构造方法
。class 类{
Private 属性
Public get/set
空构造
带参构造
方法
super( ) 调用父类构造方法 要写第一句 只能写一次
方法重新
子类重新写父类的方法
重载:在同一个类中,方法名相同,参数不同
重写:在子类中,方法名相同,返回值相同,参数相同,访问修饰符要求大于等于父类
抽象方法 abstract 没有方法体
抽象方法必须在抽象类中
抽象方法必须在子类中被实现,除非子类是抽象类
Final 类不希望被继承 方法不希望被重写 属性值不想被修改
//重新equals():告诉计算机一个新的比较规则:如果学号和名字都相同,我们认为就是同一个对象
//把你传过来的obj对象和this(当前学员对象)比较
//instanceof操作符的作用:判断某一个对象是否属于某一种类型
//绑定机制:静态绑定 动态绑定
//实例方法(动态绑定机制) 与引用变量实际引用的对象绑定,调用重写后的方法,由运行时的jvm决定
//静态方法(静态绑定机制) 与引用变量所声明的类型绑定。实际上在编译阶段就做了绑定
//成员变量(包括静态变量和实例变量,静态绑定机制) 与引用变量所声明的类型绑定。实际上在编译阶段就做了绑定
// Father f = new Son();
// System.out.println(f.v1);
// System.out.println(f.staticV2);
// f.m1();
// f.staticM2();
多态
父类的引用指向了子类的对象,可以调用子类重写父类的方法,和父类的属性、方法
简单工厂:设计模式中的一种
设计模式:工厂类---》生成产品(对象)
父类:Pet
子类1:Dog
子类2:Cat
子类3:Penguin