Java基础查缺补漏05

继续我的复习刷题

可以有和类名同名的函数

题目:

JAVA中,下列语句哪一个正确()

A. class中的constructor不可省略
B. constructor必须与class同名,但方法不能与class同名
C. constructor在一个对象被new时执行
D. 一个class只能定义一个constructor

正确答案: C 你的答案: C (正确)


虽然选对了,不过这个知识点得补上:

除了构造函数,可以声明和类名同名的函数,但是要带上返回类型,如:

public class TestConstructor3 {
    public TestConstructor3(){

    }

    public int TestConstructor3(){
        return 0;
    }
}

只是通常不这么写罢了

a---b怎么理解?

题目:

以下程序会输出什么

int a =100,b=50,c=a---b,d=a---b;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);

A. 100 48 48 49
B. 100 49 48 52
C. 98 50 50 49
D. 98 50 50 48

正确答案: C 你的答案: C (正确)


还蛮有意思的这个,(虽然没什么价值),主要问题是a---b到底应该断句为a-- -b还是a- --b,通过排除法可以知道如果理解为a- --b这里也没得选了,所以应该是a-- -b,主要的知识点就是 --的优先级比-要高些 ,不过这个知识点没什么营养,实际100%不会这么写。

接口可以定义静态成员常量

题目:

下列描述正确的是( )?

A. 类不可以多继承而接口可以多实现
B. 抽象类自身可以定义成员而接口不可以
C. 抽象类和接口都不能被实例化
D. 一个类可以有多个基类和多个基接口

正确答案: A C 你的答案: A B C (错误)


如题:

public interface TestInterface2 {
    public static final int id = 1;
}

而且public static final是可以省略的,即接口里面的字段默认是静态常量。

这样的接口有数据共享的作用,不过通常不这样用。

String.valueOf是存在char类型参数的重载版本的

题目:

public class CharToString {
    public static void main(String[] args)
    {
        char myChar = 'g';
        String myStr = Character.toString(myChar);
        System.out.println("String is: "+myStr);
        myStr = String.valueOf(myChar);
        System.out.println("String is: "+myStr);
    }
}

此代码片段输出正确的值是()

A.
String is: g
String is: g

B.
String is: 103
String is: g

C.
String is: g
String is: 103

D.
String is: 103
String is: 103

正确答案: A 你的答案: C (错误)


这道题目也太会误导了吧。。

通过查找可以发现String类是存在这个方法的:

public static String valueOf(char c) {
    char data[] = {c};
    return new String(data, true);
}

static变量不能定义在方法中

题目:

如下代码的输出结果是什么?

public class Test {
    public int aMethod(){
        static int i = 0;
        i++;
        return i;
    }
public static void main(String args[]){
    Test test = new Test();
    test.aMethod();
    int j = test.aMethod();
    System.out.println(j);
    }
}

A. 0
B. 1
C. 2
D. 编译失败

正确答案: D 你的答案: C (错误)


Java是不允许在方法中定义静态变量的(我记得C++好像可以定义,Java确实不太确定)

原创文章,作者:彭晨涛,如若转载,请注明出处:https://www.codetool.top/article/java%e5%9f%ba%e7%a1%80%e6%9f%a5%e7%bc%ba%e8%a1%a5%e6%bc%8f05/

(0)
彭晨涛彭晨涛管理者
上一篇 2020年5月29日
下一篇 2020年5月30日

相关推荐

  • 深入理解java虚拟机第三版读书笔记02

    以下是第二章 Java内存区域与内存溢出异常的内容 运行时数据区域 程序计数器 特点 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 程序计数器是…

    2020年1月5日
    0210
  • 深入理解java虚拟机第三版读书笔记03

    续深入理解java虚拟机第三版读书笔记02 HotSpot虚拟机对象探秘 对象的创建 当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一…

    2020年1月6日
    0150
  • Java字节码实例探究

    深入理解java虚拟机第三版读书笔记06中介绍了class文件结构,这里我们动手实践,编译一个类查看一下它的字节码。 java源码: public class Main { pri…

    2020年1月23日
    0220
  • JUC包下的信号量Semaphore

    概述 信号量,用来限制能同时访问共享资源的线程上限。 public static void main(String[] args) { // 1. 创建 semaphore 对象 …

    Java 2020年2月6日
    0200
  • Java自动装箱缓存机制

    尝试运行这段代码: 相似的两段代码,得到的结果却完全不相同。 首先要知道在java中==比较的是对象的引用,从直觉出发,无论是integer1、integer2还是integer3…

    Java 2019年12月5日
    0180
  • LinkedList源码分析

    相关文章:ArrayList源码分析 List家族一览: LinkedList简介 LinkedList的超类有List、Queue,说明它既有List的性质也有Queue的性质,…

    2019年12月2日
    080
  • 快速失败(fail-fast)和安全失败(fail-safe)

    快速失败 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出 Concurrent Modification Exception。…

    Java 2020年2月23日
    0150
  • 深入理解java虚拟机第三版读书笔记04

    以下是第三章 垃圾收集器与内存分配策略的内容 概述 程序计数器、虚拟机栈、本地方法栈是线程独有的,栈帧更是随方法结束而消亡,不需要垃圾回收。而堆和方法区则需要经过垃圾回收的设计 对…

    2020年1月8日
    0320
  • Java之UDP编程

    DatagramSocket概述 上次在Java网络套接字Socket编程那篇博客里只写了Socket和ServerSocket,即TCP通信,这次来补充一下UDP通信。 和Soc…

    Java 2020年3月11日
    0820
  • NIO网络编程之Selector介绍

    Selector 要实现异步IO要通过Selector,甚至我们可以通过一个线程管理多个Channel的读写,这是NIO相较BIO的优越之处之一。 Channel可以注册到一个Se…

    Java 2020年2月7日
    0790

发表回复

登录后才能评论