Java的继承
public class Test { public static void main(String[] args){ B b=new B(0); int y=b.getY(); } } class A { public static int x=2; //1. private int y=2; //2. protected int z; //5. A(){ //3. x=x+1; showX(); //4. } public void showX(){ System.out.println("A.x="+x); } public int getY(){ return y; } } class B extends A { B(int x){ x=x+2; //只对局部x操作 showX(); } public void showX(){ System.out.println("B.x="+x); } public int getY(){ //6. System.out.println("B.y="+(super.getY()+x)); return super.getY()+x; } } //输出 //B.x=3 //动态绑定 //B.x=3 //B.y=5
?
?
?
?
封装(encapsulation)
????类使得数据和对数据的操作集成在一起,从而对使用该类的其他人来说,可以不管它的实现方法,而只管用它的功能,从而实现所谓的信息隐藏。
多态(polymorphism)
????多态又分为设计时多态和运行时多态,例如重载又被称为设计时多态,而对于覆盖或继承的方法,JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称为运行时多态。总而言之,面向对象的设计的典型特点就是继承,封装和多态,这些特点也是面向对象之所以能如此盛行的关键所在。
单继承与多继承
????JAVA不支持多重继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。
?
?
?