【牛客专项练习】编程语言—java

  1. 以下关于构造方法的描述错误的是 。

    A. 构造方法的返回类型只能是void型。	×
    B. 构造方法是类的一种特殊方法,它的方法名必须与类名相同。
    C. 构造方法的主要作用是完成对类的对象的初始化工作。
    D. 一个类可以定义多个构造方法。
    

    构造方法的特点
    1 构造方法名与类名相同
    2 构造方法没有返回值 类型,也不写void
    3 构造方法可以重载
    构造方法的作用
    1 在创建对象时,给属性赋初值
    构造方法何时使用
    构造方法在创建对象时被调用
    构造方法的分类
    1 显示的构造方法和隐式的构造方法
    2 当声明了构造方法时,系统不会提供隐式的默认的无参构造方法

  2. 在为传统面向对象语言的程序做单元测试的时候,经常用到mock对象。Mock对象通过反射数。请问反射最大程度破坏了面向对象的以下哪个特性?

    A. 封装	√
    B. 多态
    C. 继承
    D. 抽象
    

    mock对象:也成为伪对象,在测试中的利用mock对象来代替真实对象,方便测试的进行。
    java的封装性:指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,通过该类提供的方法实现对内部信息的操作访问。
    反射机制:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性

  3. 以下关于Object类的说法正确的是()

    A. Java中所有的类都直接或间接继承自Object,无论是否明确的指明,无论其是否是抽象类。	√
    B. Java中的接口(interface)也继承了Object类
    C. 利用“==”比较两个对象时,Java调用继承自Object的equals方法,判断是否相等。
    D. 利用“==”比较两个对象时,Java调用继承自Object的equals方法,判断是否相等。
    

    A Object是所有类的直接或者间接父类。
    B 接口没有继承Object类。(一旦继承,Object中可以有实例方法的)
    C Object的equals方法,只有一句话,return this==object。这句话说反了。
    D 和A一样,都是Object的子类了,肯定有Object的方法:hashCode、equals、toString、clone、notify、notifyall、wait、finalize、getClass

  4. javac的作用是( )。

    A. 将源程序编译成字节码	√
    B. 将源程序编译成字节码
    C. 解释执行Java字节码
    D. 解释执行Java字节码
    

    javac将源程序编译成.class文件,字节码;java将字节码转为机器码,.exe程序

  5. 以下程序输出()

    public static void main(String[] args) {
         
    	int num = 2;
    		switch (num) {
         
    			case 1:
      		  		++num;
    			case 2:
     		   		++num;
    			case 3:
     		   		++num;
    			default:
     		   		++num;
    	 		break;
    		}
    		System.out.println(num);
    	}
    }
    
    A. 2
    B. 3
    C. 4
    D. 5	√
    

    本题考查了switch语句中的“穿透”概念。
    匹配到case 2 num->3 但是其后没有break,所以继续执行case 3 num->4、default num->5而后结束,所以答案为 5

  6. 类方法中可以直接调用对象变量? ×

    静态方法中不能调用对象的变量,因为静态方法在类加载时就初始化,对象变量需要在新建对象后才能使用。

  7. 关于抽象类与最终类,下列说法错误的是?

    A. 抽象类能被继承,最终类只能被实例化	
    B. 抽象类和最终类都可以被声明使用
    C. 抽象类和最终类都可以被声明使用
    D. 抽象类和最终类都可以被声明使用	×
    

    1 抽象类中可以有抽象方法,也可以没有抽象方法。
    2 抽象类当然可以被继承,因为它就是用来继承的,
    3 继承抽象类,若有抽象方法,则子类必须将其抽象方法实现,
    4 抽象类中的非抽象方法可以被重写。
    最终类和抽象类正好相反
    1 加上final的类就叫最终类,加上final的方法就叫最终方法,
    2 最终类中可以有最终方法也可以没有
    3 最终类不能有子类,最终方法不能被重写

  8. 定义有StringBuffer s1=new StringBuffer(10);s1.append(“1234”),则s1.length()和s1.capacity()分别是多少?

    A. 4		10		√
    B. 4		4
    C. 10		10
    D. 10		4
    

    length 返回当前长度
    如果字符串长度没有初始化长度大,capacity返回初始化的长度
    如果append后的字符串长度超过初始化长度,capacity返回增长后的长度

  9. 选项中哪一行代码可以替换 //add code here 而不产生编译错误

    public abstract class MyClass {
         
    	public int constInt = 5;
         //add code here
         public void method() 
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值