• 在java中类的继承原则有哪些?


     类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类称为子类,现有类称为父类。子类继承父类的属性和方法,使得子类对象(实例)具有父类的特征和行为。

      在类的继承中,需要注意一些问题,具体如下。

      (1)在Java中,类只支持单继承,不允许多重继承。也就是说,一个类只能有一个直接父类,例如下面这种情况是不合法的。

    1. class A{}
    2. class B{}
    3. class C extends A,B{} // C类不可以同时继承A类和B类

      (2)多个类可以继承一个父类,例如下面这种情况是允许的。

    1. class A{}
    2. class B extends A{}
    3. class C extends A{} // B类和C类都可以继承A类

      (3)在Java中,多层继承也是可以的,即一个类的父类可以再继承另外的父类。例如,C类继承自B类,而B类又可以继承自A类,这时,C类也可称为A类的子类。例如,下面这种情况是允许的。

    1. class A{}
    2. class B extends A{} // B类继承A类,B类是A类的子类
    3. class C extends B{} // C类继承B类,C类是B类的子类,同时也是A类的子类

      (4)在Java中,子类和父类是一种相对概念,一个类可以是某个类的父类,也可以是另一个类的子类。例如,在第(3)种情况中,B类是A类的子类,同时又是C类的父类。

      在继承中,子类不能直接访问父类中的私有成员,子类可以调用父类的非私有方法,但是不能调用父类的私有成员。

    什么是多维数组?怎样定义多维数组?

    多维数组可以简单地理解为在数组中嵌套数组。在程序中,比较常见的多维数组是二维数组,接下来本节将针对二维数组进行详细讲解,我们以统计学校各个班级学生的考试成绩,来实现。

    二维数组可以被看作是特殊的一维数组,其定义有很多方式,接下来针对几种常见的方式进行详细讲解,具体如下。

    第一种方式,指定二维数组的长度和每个数组的元素个数,其基本语法格式如下:

    int[][] arr=new int[3][4];

    上面的代码相当于定义了一个3*4的二维数组,这个二维数组的长度为3,我们可以将它看成3个int[]类型的一维数组,每个一维数组中的元素又是一个长度为4的一维数组。接下来通过一个图来表示这种情况,如下图所示。

    第二种方式,只指定二维数组的长度,不确定每个数组的元素个数,其基本语法格式如下:

    int[][] arr =new int[3][];

    第二种方式和第一种类似,只是数组中每个元素的长度不确定,接下来通过一个图表来表示示这种情况,如下图所示。

    第三种方法,直接使用嵌套大括号{},对二维数组初始化赋值,其基本语法格式如下:

    int[][] arr ={{1,},{3,4,5,6},{7,8,9}};

    上面的二维数组定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9},接下来通过下图来表示这种情况:

    对二维数组中元素的操作是通过角标的方式来完成的,具体示例代码如下:

    1. arr[0][1]; //获取二维数组中第一个元素瓶的第二个元素
    2. arr[0][1=1]; //对二推数组中第一个元家组的第二个元索赋值成修改

    接下来通过一个统计公司三个销售小组中每个小组的总销售额,以及整个公司销售额的案例来熟悉二维数组的使用,如下所示。

    Example25.java

    1. public class Example25 {
    2. public static void main(String[] args) { //定义一个长度为3的二维数组
    3. int[][] arr =new int[3][]; //为数组的元素赋值
    4. arr[0] =new int[] {11, 12 } ;
    5. arr[1] =new int[] { 21, 22, 23 };
    6. arr[2] =new int[] {31,32,33, 34};
    7. int sum =0; //定义变量记录总销售额
    8. for (int i<arr.length;i++) { //遍历数组元素
    9. int groupSum =0; //定义变量记录小组销售总额
    10. for (int j =0; j <arr[i].length; j++) {
    11. groupSum +=arr[i][j];
    12. }
    13. sum +=groupSum; //累加小组销售额
    14. System.out.println("第“+(i+1)+"小组销售额为:"
    15. +groupSum+"万元。");
    16. }
    17. System.out.println(”总销售额为:“+sum+”万元,“);
    18. }
    19. }



     

  • 相关阅读:
    【ESP32--FreeRTOS 任务间的同步与通信】
    js的同步执行
    kubernetes使用NFS存储卷---csi-driver-nfs
    啊哈,终于知道了怎么获取网站的logo
    【深度学习】教你 使用PyTorch 框架 构建神经网络 并 优化+可视化(附源代码):自制数据集 | 加载常见数据集 | 自制分类数据集 | 手动VS使用torch 实现线性模型
    顶级论文创新点怎么找?中国高校首次获CVPR最佳学生论文奖有感
    layui框架实战案例(21):layui table单元格显示图片导致复选框冗余的解决方案
    超美!ChatGPT DALL-E 3已可用,另外GPT-4可上传图片进行问答
    淘宝店铺订单解密接口/淘宝店铺订单插旗接口/淘宝店铺订单交易接口/淘宝店铺商品上传接口/淘宝店铺订单明文接口/代码对接分享
    将 CSS 过滤器与 SVG 一起使用的完整指南
  • 原文地址:https://blog.csdn.net/Blue92120/article/details/127654082