Java面向对象编程(9)

简介: Java面向对象编程(9)

下面程序的输出是:()

String x="fmn";

x.toUpperCase();

String y=x.replace('f','F');

y=y+"wxy";

System.out.println(y);

A.FmNwxy

B.fmnwxy

C.wxyfmn

D.Fmnwxy

答案:D

在 java 中,一个类可同时定义为许多同名的方法,这些方法的形式参数个数,类型或顺序各不相同,传回的值可能各不相同,这种面向对象的特性称为()

A.隐藏

B.覆盖

C.重载

D.无此特性

答案:C

关于 JAVA 堆,下面说法错误的是()

A.所有类的实例和数组都是在堆上分配内存的

B.对象所占的堆内存是由自动内存管理系统回收

C.堆内存由存活和死亡的对象,空闲碎片区组成

D.数组是分配在栈中的

答案:D

一个以“.java”为后缀的源文件

A.只能包含一个public类,类名必须与文件名相同

B.只能包含与文件名相同的public类以及其中的内部类

C.只能有一个与文件名相同的public类,可以包含其他非public类(不考虑内部类)

D.可以包含任意public类

答案:C

JAVA语言的下面几种数组复制方法中,哪个效率最高?

A.for循环逐一复制

B.System.arraycopy

C.Arrays.copyOf

D.使用clone方法

答案:B

()仅包含方法定义和常量值。

A.接口

B.变量

C.单元

D.成员

答案:A

对文件名为Test.java的java代码描述正确的是()

class Person {

String name = "No name";

public Person(String nm) {

name = nm;

}

}

class Employee extends Person {

String empID = "0000";

public Employee(String id) {

empID = id;

}

}

public class Test {

public static void main(String args[]) {

Employee e = new Employee("123");

System.out.println(e.empID);

}

}

A.输出:0000

B.输出:123

C.编译报错

D.输出:No name

答案:C

有关下述Java代码描述正确的选项是____。

public class TestClass {

  private static void testMethod(){

       System.out.println("testMethod");

  }

  public static void main(String[] args) {

       ((TestClass)null).testMethod();

  }

}

A.编译不通过

B.编译通过,运行异常,报NullPointerException

C.编译通过,运行异常,报IllegalArgumentException

D.编译通过,运行异常,报NoSuchMethodException

E.编译通过,运行异常,报Exception

F.运行正常,输出testMethod

答案:F

有关下述Java代码描述正确的选项是____。

public class TestClass {

  private static void testMethod(){

       System.out.println("testMethod");

  }

  public static void main(String[] args) {

       ((TestClass)null).testMethod();

  }

}

A.编译不通过

B.编译通过,运行异常,报NullPointerException

C.编译通过,运行异常,报IllegalArgumentException

D.编译通过,运行异常,报NoSuchMethodException

E.编译通过,运行异常,报Exception

F.运行正常,输出testMethod

答案:F

在jdk1.5之后,下列 java 程序输出结果为______。

int i=0;

Integer j = new Integer(0);

System.out.println(i==j);

System.out.println(j.equals(i));

A.true,false

B.true,true

C.false,true

D.false,false

E.对于不同的环境结果不同

F.程序无法执行

答案:B

另类加法:

给定两个intA和B。编写一个函数返回A+B的值,但不得使用+或其他算数运算符。

输入:1  2

返回:3

public class Main14 {
    public static int addAB(int A,int B){
        if (B==0){
            return A;
        }
        int sum=0;
        int carray=0;
        while (B!=0){
            //sum等于两个数异或的结果
            sum=A^B;
            //carry等于两个数相与之后,左移一位的结果
            carray=(A&B)<<1;
            //有可能还没算完,还得继续
            A=sum;
            B=carray;
        }
        //返回上一次异或的这个结果
        return A;
    }
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        System.out.println(addAB(a,b));
    }
}

走方格的方案数

请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿

着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和

往下走,不能往左和往上走。

注:沿棋盘格之间的边缘线行走·…数据范围: °1<=n,m<=8

输入描述:   输入两个正整数n和m,用空格隔开。(1<=n  m<=8)

输出描述:'   输出一行结果

public class Main {
//走方格的方案树
    public static int func(int m,int n){
        if (m==1 || n==1){
            return m+n;
        }
        return func(m-1,n)+func(m,n-1);
    }
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int m=scanner.nextInt();
        int n=scanner.nextInt();
        int sum=func(m,n);
        System.out.println(sum);
    }
}
相关文章
|
2月前
|
Java
Java面向对象编程新篇章:多态,你准备好了吗?
【6月更文挑战第17天】Java的多态性是面向对象编程的核心,它允许通过统一的接口处理不同类型的对象。例如,在一个虚拟宠物游戏中,抽象类`Pet`定义了`speak()`方法,猫、狗和鹦鹉等子类各自重写此方法以实现独特叫声。在`main`方法中,使用`Pet`类型的引用创建子类对象并调用`speak()`,多态机制确保调用实际对象的方法,实现代码的灵活性和可扩展性。通过多态,我们能以更低的耦合度和更高的复用性编写更优雅的代码。
22 3
|
6天前
|
存储 前端开发 JavaScript
【前端学java】面向对象编程基础-类的使用(4)
【8月更文挑战第9天】面向对象编程基础-类的使用
7 0
【前端学java】面向对象编程基础-类的使用(4)
|
2月前
|
Java
Java 面向对象编程:父类与子类的“传承”与“创新”之路
【6月更文挑战第16天】Java 中的父类与子类展示了面向对象的“传承”与“创新”。子类`Dog`继承`Animal`,获取其属性和方法如`name`和`makeSound`。子类通过`@Override`增强`makeSound`,显示多态性。设计父类时应考虑普遍性,子类创新专注自身特性,遵循继承最佳实践,利用复用提升效率,构建可维护的软件系统。
130 57
|
1月前
|
Java API 项目管理
Java中的函数式编程与传统面向对象编程对比
Java中的函数式编程与传统面向对象编程对比
|
2月前
|
Java 安全 索引
滚雪球学Java(48):面向对象编程中的StringBuffer类详解
【6月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
39 5
滚雪球学Java(48):面向对象编程中的StringBuffer类详解
|
2月前
|
存储 安全 Java
深入探讨 Java 封装机制:为何它是面向对象编程的核心?
【6月更文挑战第16天】Java的封装是OOP核心,它将数据和操作数据的方法打包在类中,隐藏实现细节并提供公共接口。例如,`Student`类封装了私有属性`name`和`age`,通过`get/set`方法安全访问。封装提升代码稳定性、可维护性和复用性,防止外部直接修改导致的错误,确保数据安全。它是面向对象编程优于传统编程的关键,促进高效、可靠的开发。
26 7
|
2月前
|
Java 数据安全/隐私保护 开发者
Java是一种完全支持面向对象编程的语言,其面向对象特性包括封装、继承、多态和抽象等
【6月更文挑战第18天】**面向对象编程(OOP)通过对象封装状态和行为,实现问题域的抽象。Java全面支持OOP,核心特性包括**: - **封装**:保护数据安全,隐藏内部细节。 - **继承**:子类继承父类属性和行为,促进代码重用。 - **多态**:一个接口多种实现,增强灵活性和扩展性。 - **抽象**:通过接口和抽象类抽离共性,简化复杂性。 **Java的OOP便于理解和解决复杂系统问题。**
37 3
|
2月前
|
Java 开发者
Java面向对象编程(OOP)的四个主要概念
【6月更文挑战第19天】Java OOP的基石是封装、抽象、继承和多态。封装是通过类隐藏数据细节;抽象简化复杂性,用接口和抽象类实现;继承让子类从父类继承属性和行为,促进代码重用;多态一个接口可有多种形态,分编译时和运行时。这些概念支持灵活且可扩展的软件设计。
30 1
|
2月前
|
Java
Java 面向对象编程大揭秘:子类如何“继承”父类,摇身一变成为“新贵”?!
【6月更文挑战第16天】Java中的继承允许子类从父类继承特性与功能,如`Dog`继承`Animal`,重写`makeSound`方法,展现独特行为。同样,`Circle`继承`Shape`,定制`draw`方法以绘制圆形。继承提高了代码复用和灵活性,使子类能基于父类基础创新,如同接力赛中父类传递接力棒,子类创造新辉煌。在Java世界,继承是构建复杂项目的关键机制,有待深入探索。
28 4
|
1月前
|
Java 开发者
Java中的面向对象编程思想
Java中的面向对象编程思想