构造函数在new对象的时候执行
super关键字必须写在构造函数的第一行
super可以调用父类的方法
用static声明的变量成为静态变量,一次声明以后不能再次声明
{}表示初始化块 可以加载当前类依赖的工具 加载必要的函数以及其他类
static {} 静态初始化块
初始化块和构造函数在new的时候执行
fianl最终的 fianl也是修饰符/他是可有可无的
还没有运行就报错的叫做编译期错误
被fianl的变量不能被修改和重写
fianl修饰符不能被继承
子类有单独的方法,父类没有方法,将不能被调用
abstract抽象方法:表示只声明不实现
抽象类不能被实例化
封装:隐藏内部的实现,暴露使用方法/也就是对数据进行保护
向上转型和向下转型总结:
1、父类引用可以指向子类对象,子类引用不能指向父类对象。
2、把子类对象直接赋给父类引用叫upcasting向上转型,向上转型不用强制转型。
如Father father = new Son();
3、把指向子类对象的父类引用赋给子类引用叫向下转型(downcasting),要强制转型。
如father就是一个指向子类对象的父类引用,把father赋给子类引用son 即Son son =(Son)father;
其中father前面的(Son)必须添加,进行强制转换。
4、upcasting 会丢失子类特有的方法,但是子类overriding 父类的方法,子类方法有效
5、向上转型的作用,减少重复代码,父类为参数,调有时用子类作为参数,就是利用了向上转型。这样使代码变得简洁。体现了JAVA的抽象编程思想。
时间: 2024-10-13 11:44:33