java 数组 继承

35.有如下一维数组的定义:int[] arr1=new int[10];
arr1数组元素批量赋值(预设值为:100)的方式中,错误的有:
A.Arrays.fill(arr1,100);
B.arr1.fill(100);
C.for(int i=0;i<arr1.length;i++) { arr1[i]=100; }
D.for(int v:arr1) {v=100;} B
36.数组的定义为:int[] arr=new int[10];
如何获得数组的长度
A.arr.length()
B.arr.size()
C.arr.length
D.arr.size C
37.某Java源文件代码如下,该源文件应如何命名?

class A {
  int a;
}
class B {
  int b;
}
class C {
   public static void main(String[] args) {
       System.out.print("HELLO!");
   } 
}

D.后缀是.java,文件名可以任意取,符合标识符规范即可
38.当访问无效的数组下标时,会发生( )

抛出异常

39.在使用super 和this关键字时,以下描述正确的是
A.在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
B.this()和super()可以同时出现在一个构造函数中
C.super()和this()不一定要放在构造方法内第一行
D.this()和super()可以在static环境中使用,包括static方法和static语句块

A
使用super()或者是this()方法是必须放在构造函数的第一行
由于this函数指向的构造函数默认又super()方法,所以规定this()和super()不能同时出现在一个构造函数中。
因为static方法或者语句块没有实例时可以使用,而此时不需要构造实例,所以不能用this()和super()。

40.以下程序运行结果是

public class Test extends Father{
    private String name="test";
    public static void main(String[] args){
        Test test = new Test();
        System.out.println(test.getName());
    }
}
class Father{
    private String name="father";
    public String getName() {
        return name;
    }
}

A.Father
B.编译出错
C.Test
D.运行出错,无输出
41.下列选项中关于java中super关键字的说法错误的是
A.super关键字是在子类对象内部指代其父类对象的引用
B.super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C.子类可以通过super关键字调用父类的方法
D.子类可以通过super关键字调用父类的属性 B
42.关于下面的类,哪句是最准确的?

class A {
  private int i;
  protected int j;
}

class B extends A {
  private int k;
  protected int m;

  // some methods omitted
}

A.在类B中,一个实例方法只能访问i,j,k,m。
B.在类B中,一个实例方法只能访问j,k,m。
C.在类B中,一个实例方法只能访问j,m。
D.在类B中,一个实例方法只能访问k,m。 B

43.有如下代码:

class A {              
    double f(double x, double y) {                  
    return x * y;              
   }     
}
class B extends A {              
    double f(double x, double y) {                  
    return x + y;              
    }     
}     

在子B类中对父类A类的方法f进行了( )。
重写
44.已知类的继承关系如下:

class Employee{}
class Manager extends Employee{}
class Director extends Employee{}

则下列语句通过编译的有哪些?
A.Employee e=new Manager();
B.Director d= new Manager();
C.Director d= new Employee();
D.Manager m=new Director(); A/C?
45.以下有关类的继承的叙述中,正确的是:
A.子类能直继承父类所有的私有属性和私有方法,但是没有访问权限
B.子类只能继承父类的方法,不能继承父类的属性
C.子类能继承父类的成员变量和变员方法,访问没有任何限制
D.子类不能继承父类的私有属性和私有方法 D
46.下面关于JAVA面向对象的理解,说法中不正确的是:
A.Java中,一个类只允许实现一个接口(一个或多个)
B.抽象类中允许有非抽象方法的存在
C.静态的成员变量可以直接用类名调用
D.通过super可以调用父类的构造函数 A
47.以下关于继承的叙述正确的是( )
A.在Java中类只允许单一继承
B.在Java中,一个类只能实现一个接口
C.在Java中,一个类不能同时继承一个类和实现一个接口
D.在Java中,接口也具有单继承性 A

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java数组和多态的运用可以结合起来,以实现灵活的数据存储和处理。 1. 数组与多态 Java中的数组是一种特殊的数据类型,可以用来存储一组具有相同数据类型的值。多态是一种面向对象编程的特性,允许不同的对象使用相同的接口来实现不同的行为。 在Java中,数组与多态可以结合起来使用,例如可以定义一个Animal数组,其中存储了不同类型的动物对象,包括Cat、Dog等,这样就可以使用相同的接口来处理不同类型的动物对象。 2. 实例 下面是一个简单的例子,通过数组与多态来实现对不同类型的图形对象进行面积计算: ```java public class Shape { public double getArea() { return 0; } } public class Circle extends Shape { private double radius; public Circle(double radius) { this.radius = radius; } @Override public double getArea() { return Math.PI * radius * radius; } } public class Rectangle extends Shape { private double width; private double height; public Rectangle(double width, double height) { this.width = width; this.height = height; } @Override public double getArea() { return width * height; } } public class ShapeTest { public static void main(String[] args) { Shape[] shapes = new Shape[2]; shapes[0] = new Circle(10); shapes[1] = new Rectangle(5, 10); double totalArea = 0; for (Shape s : shapes) { totalArea += s.getArea(); } System.out.println("Total area: " + totalArea); } } ``` 在上面的例子中,定义了一个Shape类作为基类,Circle和Rectangle类都继承自Shape类,并实现了getArea()方法来计算图形的面积。在ShapeTest类中,定义了一个Shape数组,其中存储了不同类型的图形对象,然后通过循环遍历数组,调用每个图形对象的getArea()方法,最后计算出总面积。这样就可以灵活地处理不同类型的图形对象了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫名其_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值