门户java面向对象的三个特性:
封装:
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
继承:
继承是类与类的一种关系,是一种“is a”的关系。比如“狗”继承“动物”,这里动物类是sxd的父类或者基类,sxd是动物类的子类或者派生类。
多态:
同一个引用类型,使用不同的实例,执行不同的操作。方法重写是实现多态的基础。
面向java对象的三种特性多态性:
即,同一方法可以根据发送对象而采用多个不同行动方式
一个对象的实际类型已确定,但有许多引用类型可以指向该对象
多态存在的条件:
1、有继承关系
2、子类重写父类方法
3、父类引用指向子类对象
注意:
1、多态性是方法多态性,属性无多态性。
2、父类与子类,有联系类型转换异常的ClassCastException
3、存在的条件:需要继承关系,重写方法,父类引用为子类对象Father f=new Son (;
有些方法是不能重写的。 例如,有以下方法:
1、静态修饰的方法,属于类,它不属于实例,不能重写
2、final修饰常数,不能重写
3、私有方法是私有的,不能重写
实例of类型转换~此转换是指引用类型之间的转换
实例:
package oop.demo9;/* * *面向Java对象的三个特性的多态性*,即同一方法根据目标的不同决定了可以采用多个不同动作的*一个对象的实际类型,但是可以指向对象的引用的类型有很多*多态性的条件* 1、存在继承关系* 2、子类重写父类方法* 3、父类引用指向子类对象*注意: * 1、多态性为方法多态性* 2、父类与子类、类型转换异常class *有些方法不能重写为: *1.静态限定的方法属于类,不属于实例。 无法改写。 * 2.final修饰是常量,不能重写。 *3.私有方法是私有的。 无法重写的* *实例of类型转换(此转换是指引用类型之间的转换(/publicclassapplication ) publicstaticvoidmain (string [ ] args ) { /** * //对父类的引用由子类对象Object s3=new Student (; //如果所有类都是Object类/** *子类不重写父类的方法,则子类执行继承父类的方法,子类重写父类的方法,然后子类的方法*/S2. //重写前调用Person的run,重写后调用Student的run s1.run (; //总是调用的是Student的run s1.eat (); //调用自己的方法//s2.eat (; //程序异常,Person类没有eat方法,s2无法调用子类自己的方法}} Person类package oop.demo9; public class person { public void run (} { system.out.println ) ' run ); }} Student类继承Person类package oop.demo9; publicclassstudentextendsperson { @ overridepublicvoidrun () system.out.println ) ' son ); } public void eat () ) system.out.println ) ' eat ); }