NowCoder-Java-Note(一)

一、 关于抽象类叙述正确的是? (B)

A.抽象类不能实现接口
B.抽象类必须有“abstract class”修饰
C.抽象类必须包含抽象方法
D.抽象类也有类的特性,可以被实例化

答案:B

解析:
  • A.抽象类是可以实现接口的,而且抽象类也可以继承自抽象类
  • B.对
  • C.抽象类指有abstract修饰的class,其可以包含抽象方法,也可以不包含
  • D.抽象类和接口都是不能被实例化的,只有具体的类才可以被实例化
interface A{
    public void oneFun();
}
//抽象类可以实现接口
abstract class B implements A{
    public void twoFun(){}
}
//抽象类可以继承抽象类
abstract class C extends B{
        
}
public class Test01 {
    public static void main(String[] args) {
        //尝试实例化抽象类,报错
        B b = new B();
    }
}

二、 下列说法正确的有(A)

A.数组是一种对象
B.数组属于一种原生类
C.int number=[]={31,23,33,43,35,63}
D.数组的大小可以任意改变

解析:
  • java眼中,万物皆为对象,数组自然是对象
  • 原生类是指Java中,数据类型分为基本数据类型(或叫做原生类、内置类型)和引用数据类型。
  • java中的数组的定义就是相同类型,固定长度的一组数据,一旦被初始化,长度不可更改。

三、 在java中,已定义两个接口B和C,要定义一个实现这两个接口的类,语句为:

class A implements B,C

四、 指出下来程序运行的结果是:

public class Example {
    String str = new String("good");
    char[] ch = {'a','b','c'};
    public static void main(String[] args) {
        Example ex = new Example();
        ex.change(ex.str,ex.ch);
        System.out.print(ex.str + " and ");
        System.out.println(ex.ch);
    }
    private void change(String str, char[] ch) {
        str = "test ok";
        ch[0] = 'g';
    }
}

结果:good and gbc

  • 因为String是被final修饰的类,所以本身的内容是不会改变的,相当于基本数据类型的值传递,在changge方法中给str赋值了“test”,相当于重新创建了一个string类型的变量.

五、 Java 语言用以下哪个类来把基本类型数据封装为对象()

A.包装类
B.Class
C.int number=[]={31,23,33,43,35,63}
D.数组的大小可以任意改变

答案:A

解析:
  • java的数据类型分为两大类:基本类型和引用类型;
  • 基本类型只能保存一些常量数据,引用类型除了可以保存数据,还能提供操作这些数据的功能;

  • 为了操作基本类型的数据,java也对它们进行了封装, 得到八个类,就是java中的基本类型的封装类;

  • 八种基本类型: byte short int long float double char boolean
    对应的包装类 : Byte Short Integer Long Float Double Character Boolean

六、 使用mvc模式设计的web应用程序具有以下优点,除了?

A.可维护行强
B.可扩展性强
C.代码重复少
D.大大减少代码量

答案:D

解析:
  • MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

  • MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

  • MVC只是将分管不同功能的逻辑代码进行了隔离,增强了可维护和可扩展性,增强代码复用性,因此可以减少代码重复。但是不保证减少代码量,多层次的调用模式还有可能增加代码量。

    MVC.png

七、 假设如下代码中,若t1线程在t2线程启动之前已经完成启动。代码的输出是()

public static void main(String[]args)throws Exception {
   final Object obj = new Object();
     Thread t1 = new Thread() {
         public void run() {
             synchronized (obj) {
                 try {
                     obj.wait();
                     System.out.println("Thread 1 wake up.");
                 } catch (InterruptedException e) {
                 }
             }
         }
     };
     t1.start();
     Thread.sleep(1000);
     Thread t2 = new Thread() {
         public void run() {
             synchronized (obj) {
                 obj.notifyAll();
                 System.out.println("Thread 2 sent notify.");
             }
         }
     };
     t2.start();
}

A.Thread 1 wake up.Thread 2 sent notify.
B.Thread 2 sent notify.Thread 1 wake up.
C.A、B皆有可能
D.程序无输出卡死

答案:B

解析:

执行obj.wait();时已释放了锁,所以t2可以再次获得锁,然后发消息通知t1执行,但这时t2还没有释放锁,所以肯定是执行t2,然后释放锁,之后t1才有机会执行。

八、下列 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

解析:
本题是一个自动拆装箱的考题(自动拆装箱JDK需在1.5上):
  1. 基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较,因此Integer(0)会自动拆箱为int类型再进行比较,显然返回true;

  2. 两个Integer类型进行“==”比较,如果其值在-128至127,那么返回true,否则返回false, 这跟Integer.valueOf()的缓冲对象有关,这里不进行赘述。

  3. 两个基本型的封装型进行equals()比较,首先equals()会比较类型,如果类型相同,则继续比较值,如果值也相同,返回true

  4. 基本型封装类型调用equals(),但是参数是基本类型,这时候,先会进行自动装箱,基本型转换为其封装类型,再进行3中的比较。
    上述结果为:true、false、false、true。

九、有关线程的叙述正确的是()

A.可以获得对任何对象的互斥锁定
B.通过继承Thread类或实现Runnable接口,可以获得对类中方法的互斥锁定
C.线程通过调用对象的synchronized方法可获得对象的互斥锁定
D.线程调度算法是平台独立的

答案:C D

解析:
  • 1.“任何对象”锁定,太绝对了,你能锁住你没有权限访问的对象吗?
  • 2.前半句话讲的是创建线程的方式,后半句讲的是锁定,驴头不对马嘴。
  • 3.正确
  • 4.线程调度分为协同式调度和抢占式调度,Java使用的是抢占式调度,也就是每个线程将由操作系统来分配执行时间,线程的切换不由线程本身来决定(协同式调度)。这就是平台独立的原因。

十、Java程序的种类有( )

A.类(Class)
B.Applet
C.Application
D.Servlet

答案:B C D

解析:
Java程序的种类有:

(a)内嵌于Web文件中,由浏览器来观看的_Applet

(b)可独立运行的 Application

(c)服务器端的 Serverlets

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容