a.关于构造器
* 任何类在定义的时候就默认有一个无参数的构造函数(构造方法,构造器)
* .构造器的名字必须和类名字一样,没有返回值的定义
* .构造器的唯一作用就是构造对象
* .构造器只能被new 关键字调用
*
*
*
*
* b.关于继承,多态,重写
* .多态:由于继承和重写、重载机制的存在,同一类型的对象,调用相同的方法,但是得到的结果有可能呈现多种状态。
* .继承:一个类如果需要在原来已经定义好的类上进行拓展时,可以继承原来的类,可以继承父类的属性和方法,一个类只能继承一个父类
* .自动转型:子类对象的类型可以自动转成父类的类型
* .任何一个对象都只能调用在其定义的类型或其父类中定义了的方法,具体是调用父类的还是子类重写的要看其本质是父类对象还是子类对象
* .重写:当子类继承了父类,也就继承了父类的全部方法(构造器不能被继承),子类对父类中某些方法进行修改,叫做重写
*
*
*
* c. 关于值传递和引用传递
* .值传递:通过一个变量把值传到一个方法中去,在方法中对值的修改并不影响原来变量的值,具有单向性
* .引用传递:传递的是地址,传到一个方法中以后,对传递引用的变量修改会影响到变量原来引用的值,具有双向性
* . 在java中,任何一种数据类型都是被包装成对象的,但是这不意味这所有的对象都是通过引用传递,如String,它 是通过值传递的(考虑到String比较常用)。
*
*
*
* d.关于递归与循环
* .递归:即是在自己的方法中调用方法本身,但是必须有终止条件,否则会陷入死循环导致死机故障
* .循环:在某方法中循环地执行某些代码,常见的有while循环,for循环,do...while..循环,do...until..
*
*
*
* e.java异常体系:
* . 继承体系不用说,Object还是老大,异常体系这个家族中的老大是throwable,下面就说说常见的几种异常
*
*
* I.NullPointerException(空指针异常);先看看API中的解释:发生这种异常当应用程序试图在需要对象的地方使用 null 时,
* 抛出该异常。这种情况包括:
* .用 null 对象的实例方法。
* .访问或修改 null 对象的字段
* .将 null 作为一个数组,获得其长度。
* .将 null 作为一个数组,访问或修改其时间片。
* .将 null 作为 Throwable 值抛出。
*
* 我的通俗理解:当一个空的引用调用了类的方法时,就会抛出这个异常(g.setColor(,,,);如果是这行代码报这种错,则g是空引用)
*
*
*
* II.ArrayIndexOutOfBoundsException(数组下标越界异常)API解释:用非法索引访问数组时抛出的异常。如果索引为负或大于
* 等于数组大小,则该索引为非法索引。 这个解释很清楚也很容易理解啦!!
*
*
*
* III.InterrruptedException(线程中断异常)API解释: 当线程在活动之前或活动期间处于正在等待、休眠或占用状态且该线程被
* 中断时,抛出该异常。有时候,一种方法可能希望测试当前线程是否已被中断,如果已被中断,则立即抛出此异常。下列代码可
* 以达到这种效果:
* if (Thread.interrupted()) // Clears interrupted status!
* throw new InterruptedException();
*
*
* IV.FileNotFoundException(指定文件不存在异常)打开指定路径的文件不存在时抛出此异常
*
* V.Unhandled exception type InterruptedException,这是在eclipse中的一种错误提示,意思是可能在调用某些方法时发生
* 线程中断异常异常,需要把代码放到下面这个块中运行
* try{代码}catch(Exception ef){
* ef.printStackTrace();
* }
* try{A}catch(Exception B){throw B}尝试执行A,如果A不行则抛出异常B
* 需要放在try..catch...块中运行的异常会消失的这类异常称为强制检测异常,与之相对的即是非强制检测异常
*
*
*
*
*
*
*
*
*
*
*/