构造的方法作用: 用来创建对象,并初始化属性值
构造方法的特点:
1没有返回值类型 ,连void都没有
2,方法明和类名一致
注意
1.系统会默认创建一个无参的构造方法
2.如果自定义一个构造方法,系统自带的构造方法没有了
3.构造方法在整个生命周期中只会被调用一次
方法的重载(overload)
1.重载的方法要在同一类中
2.方法名相同
3.参数不相同
this 是当前对象,我们通过this来区分同名的全局变量和局部变量, 加this是全局变量,不加this的是局部变量
静态成员属于类
静态-类-对象-方法
静态属性属于本类所有对象
静态变量发在内存的类中。
全局变量放在内存的堆里与对象相关
局部变量放在在内存的栈里
静态方法不能出现this和super
静态代码块不能调用全局变量和方法
static可以修饰属性,方法,代码块。
实例方法可以同时出现this和super也不要求是第一行
final 常量,不能再次赋值,必须在声明的时候赋值,名称一般由大写字母组成
继承 inheritance 基类(父类) 派生类(子类)
继承的好处复用和扩展
子类调用父类的方法使用super,一个子类只能继承一个父类使用extends进行继承
super代表父类的对象,如果写必须写在子类构造方法第一行,不能访问私有成员
同一个构造方法不能同时出现this和super
子类不能继承父类私有的成员,子类与父类不同包不能继承,默认修饰符的成员也不能继承构造方法
Object类是所有类的祖先都直接或间接继承Object类
super关键字必须出现在子类(子类的方法和构造方法)中,而不允许在其他位置
使用super关键字可以访问父类的成员(属性、方法、构造方法)
注意访问权限的限制,如无法通过super访问private成员
重写的注意事项:
必须有继承关系
重写方法时方法名、参数列表必须相同,返回值相同或为该类型的子类,访问权限必须大于或等于父类的权限
不能继承的成员无法进行重写
执行顺序为先父类后子类,类里的顺序为先属性后方法
多态
多态的三要素:
拥有继承关系
重写了父类的方法
父类作为形参或返回值类型
多态的类型
子类到父类的转换:自动转换 无法调用子类特有的方法
父类到子类的转换:强制类型转换 将父类转换为某个子类后才能调用子类的特定方法,不是转换为真实的子类类型会出现转换异常
多态的优势:
可替换性,可扩充性,接口性,灵活性,简化性
instanceof运算符用来判断一个对象是否属于一个类或接口,返回boolean类型的值多用于if判断前提必须具有继承关系,否则会编译错误