首页 > 图灵资讯 > 技术篇>正文

Java的继承

2023-05-06 09:48:42

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

1. public static int x被继承到B,成为B的私有域。

2. B中仍有一个域叫y,但不能直接访问,需要通过super.getY()

3. 如果子类结构函数未显式调用超级结构函数,超级无参结构函数将自动调用 数字,如果超类没有参考构造函数,子类中没有显式调用,编译器报错

4. Java默认动态绑定机制,如果不需要动态绑定,将该方法定义为final阻止继承

5. 类A的protected修改符的数据或方法可以被同一包中的任何类访问(包括子类)或不同包中的a的子类访问。

6. 当覆盖一种方法时,子类方法的可见性不应低于父类方法的可见性。

继承(inheritance)继承是以现有类的定义为基础,建立新类的技术。新类的定义可以增加新的数据或新的功能,也可以使用父类的功能,但不能选择性地继承父类。该技术使之前的代码很容易重复使用,可以大大缩短开发周期,降低开发成本。例如,您可以首先定义一种叫车类型。汽车具有以下属性:车身尺寸、颜色、方向盘和论坛,并从汽车类别中衍生出两个类别:教程和卡车,为汽车添加一个小后备箱,并为卡车添加一个大容器.

类继承知识点(1)java不支持多重继承,也就是说子类最多只能有一个父类(2)子类继承了父类中非私有成员变量和成员方法,作为自己的成员变量和方法(3)子类中定义的成员变量与父类中定义的成员变量相同,父类中的成员变量不能继承(4)子类中定义的成员方法。如果参数的数量和类型与父类成员的方法完全相同,则不能继承父类成员的方法。

封装(encapsulation)该类将数据与数据操作集成在一起,使其他使用该类的人无论其实现方法如何,只使用其功能,从而实现所谓的信息隐藏。多态(polymorphism)多态分为设计时多态和运行时多态。例如,重载也称为设计时多态。对于覆盖或继承的方法,JAVA运行时,系统根据调用该方法的实例类型决定调用哪种方法称为运行时多态。总之,面向对象设计的典型特征是继承、包装和多态,这也是面向对象如此受欢迎的关键。单继承和多继承JAVA不支持多继承。单继承使JAVA的继承关系非常简单。一个类只能有一个父亲,易于管理程序。同时,一个类可以实现多个接口,从而克服单继承的缺点。

上一篇 Python 3 教程二:文件,目录和路径
下一篇 关于系统架构

文章素材均来源于网络,如有侵权,请联系管理员删除。