一、面型对象的特性

1,在java中面向对象有三大特征:封装,继承,多态

面向对象的编程是一种程序设计的方法和设计的规范,基本思想是使用对象,类,继承,封装等的概念来进行程序设计.

2,继承

 * 继承是实现代码重复使用的一个简单的方式.他可以节省代码量

 * 在java中一个类只能直接继承一个父类,但是可以间接的继承多个父类.

 * 如果一个类继承了父类,那么这个类就叫子类(也叫父类的派生),那么父类也称为超类(基类)

 * 子类可以继承父类中所有方法和属性(不包括构造器),

 * 如果父类中的属性是用private定义的,那么这个属性对子类是不可见的(也加是说是不能被继承的).

 * 如果父类中的方法是被private修饰的,那么这个方法对子类也是不可见的(也就是说不可以被继承).

3,继承的语法:A extends B{},使用extends关键字

 * 创建子类的时候该子类的所有的父类(包括间接的父类)的对象都会创建

4,重写或者覆盖

重载只跟参数有关,与返回类型无关。 

* 如果一个父类中的某个方法不适合在子类中使用,那么子类就可以重新修改父类中的这个方法

 * 子类重写或者覆盖(override)父类的某个方法规则:(两同两小一大)

 * 两同:子类和父类中的方法名要相同,形参列表要相同(个数,类别,顺序)

 * 两小:子类中重写父类的那个方法的返回值要小于或者等于父类那个的方法的返回值.

 *  子类方法中抛出的异常要小于等于父类那个被重写方法所声明抛出的异常

 * 一大:子类重写的方法的访问权限要大于等于父类重写的那个方法的访问权限.

 * 注意:如果父类中有一个方法用的是private修饰,那么子类是不能重写那个方法的.

 * 子类重写父类方法是要么都是类方法要么都是实例方法

 * 用static修饰的是类方法(方法属于类),访问是 :类.名字();不带static的是实体方法(方法属于实例).

 * 重写static修饰的方法时子类也要用static修饰