添加昨天:
final:
昨天所学的final关键字也可以用于类的方法定义中,如果父类中有final方法体,则此方法发不能被子类进行重写。在修饰对象或者类时,所创建的对象,是不能进行再次更改的(不能更改的其实是地址值,内容是可变的);在类中,在修饰成员变量时,一定得赋值,不然无法改变,构造赋值和直接赋值只能选择其一。
今天所学:
多态性,对象的上下转型,instanceof关键字以及final(之前也讲了,这次也添加了,就不对说);
多态性:具有本身属性的同时又具有最根本的属性(自己的理解),也就是 说父类所具有的,子类也有,且表现出子类独有的方法,比如:猫是动物,猫吃鱼;狗是动物,狗也看家;但是一般格式为 :(Animal父类方法,Cat为子类方法)
Animal cat = new Cat;
此时,cat上转到animal的类;是上转型的,也是java的多态性;
对象的的上下转型:上面所提的就是上转型,让cat从Cat转型到Animal,一旦转为Animal后则cat失去了吃鱼这个状态,因为不一定所有动物都吃鱼;其实编译器一般会自动讲低级转型到高级,比如int可以被转型为double;
对象的下转型,其实就是将本来从子类转到父类又重新转回本来的子类,注意:不能转为其他子类 ,例如:
Cat cat = (cat) Animal;
如果转为其他子类则会出现错误。