zoukankan      html  css  js  c++  java
  • 牛客网java

    1:下列代码运行的结果是什么?

    public class P {
        public static int abc = 123;
        static{
            System.out.println("P is init");
        }
    }
    public class S extends P {
        static{
            System.out.println("S is init");
        }
    }
    public class Test {
        public static void main(String[] args) {
            System.out.println(S.abc);
        }
    }
    View Code

     原因:

     2:下面程序的运行结果是:(    )

    public static void main(String args[]) {
    
            Thread t = new Thread() {
                public void run() {
                    pong();
                }
            };
    
            t.run();
            System.out.print("ping");
    
        }
    
        static void pong() {
            System.out.print("pong");
        }
    View Code

     解释:并不是多线程竞争问题,就是正常执行,t.run是调用的Thead类中的run()方法,t.start才是执行线程,所以这题就是执行普通run()方法,先输出pong,在输出ping。

    3:下面程序的输出结果为B

    public class Demo {
            public static String sRet = "";
            public static void func(int i)
            {
                try
                {
                    if (i%2==0)
                    {
                        throw new Exception();
                    }
                }
                catch (Exception e)
                {
                    sRet += "0";
                    return;
                }
                finally
                {
                    sRet += "1";
                }
                sRet += "2";
            }
            public static void main(String[] args)
            {
                func(1);
                func(2);
                System.out.println(sRet);
            }
        }
    View Code

    解释:第一步,func(1),if条件不成立,不抛出异常,catch不运行,final运行,拼串得到“1”,程序继续往下走,拼串得到“12”。 第二步,fun(2),if条件成立,抛出异常,catch捕获异常,运行catch里面代码,拼串得到“120”,虽然有return,但是不管出不出异常,final里代码必须执行,执行final,拼串得到“1201”,然后return结束。所以最终结果“1201”

    4:关于下面的程序Test.java说法正确的是

     

     解释:被static修饰的变量称为静态变量,静态变量属于整个类,而局部变量属于方法,只在该方法内有效,所以static不能修饰局部变量。static 修饰的变量属于类,只能定义在类中方法外。

    5:下列哪个对访问修饰符作用范围由大到小排列是正确的

     解释:

     6:在Java中,以下关于方法重载和方法重写描述正确的是

     解释:

    方法重载:同一类中的相同的方法名,参数和返回值均可不同。
    方法重写:之类对父类已经实现的方法重新定义。
    7:java中将ISO8859-1字符串转成GB2312编码,语句为 

     解释:

     8:多态的定义:《疯狂java讲义》的标准解释是: 相同类型的变量、调用同一个方法时呈现出多种不同的行为特征,这就是多态

    9:Continue语句跳出整个循环?

     解释:

     10:有关线程描述正确的是

     解释:

     采用synchronized修饰符实现的同步机制叫做互斥锁机制,它所获得的锁叫做互斥锁。每个对象都有一个monitor(锁标记),当线程拥有这个锁标记时才能访问这个资源,没有锁标记便进入锁池。

    任何一个对象系统都会为其创建一个互斥锁,这个锁是为了分配给线程的,防止打断原子操作。每个对象的锁只能分配给一个线程,因此叫做互斥锁。

    11:对于子类的构造函数说明,下列叙述中错误的是( )

     12:下列程序的运行结果

     

     解释:

     13:下面有关java final的基本规则,描述错误的是

     解释:

    14:

    给出以下代码,请给出结果
    class Two{
        Byte x;
    }
    class PassO{
        public static void main(String[] args){
            PassO p=new PassO();
            p.start();
        }
        void start(){
            Two t=new Two();
            System.out.print(t.x+””);
            Two t2=fix(t);
            System.out.print(t.x+” ” +t2.x);
        }
        Two fix(Two tt){
            tt.x=42;
            return tt;
        }
    }
    View Code

     解释:

    注意x是Byte类型,也就是byte的包装类型,属于引用类型。实例该类对象时,如果成员变量没有显示初始化那么Java默认初始化为null.
    该题中引用类型t作为形参进行传递,形参的改变会改变实参的值,所以再次打印t.x时已经变为42了

     15:以下类型为Final类型的为

     解释:

     16:关于Java中的数组,下面的一些描述,哪些描述是准确的

     解释:

     17:

  • 相关阅读:
    第3天:视图提取请求参数和响应对象
    第2天:Django路由与视图
    第1天:Django框架简介与工程创建
    Jenkins多选项框使用
    备份Kylin的Metadata
    前台传值 后台接受乱码
    查询表的列名,字符类型
    html div隐藏后取消所占的空位
    bootstrap 利用jquery 添加disabled属性
    bootstrap datetimepicker 复选可删除,可规定指定日期不可选
  • 原文地址:https://www.cnblogs.com/s6-b/p/12175173.html
Copyright © 2011-2022 走看看