2016/04/07

构造函数在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的抽象编程思想。

原文地址:https://www.cnblogs.com/chenyangpeng/p/5365090.html