我是靠谱客的博主 昏睡猫咪,最近开发中收集的这篇文章主要介绍java考试题第二周为了加深记忆,下面我举了一个例子9,说说你常见的异常,以及解决方式。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1,下列定义的变量名、类名是否合情合理,请说明理由

private String a;合理但不合法,成员变量a匿名不规范

public class b{}不合法,类名首字母要大写

1,下列代码在一个类中的定义是否合法

    public void print(int i) {

        ...

    }

    public int print(double f) {

        ...

    }

合法:就是方法名相同,方法参数的个数和类型不同,通过个数和类型的不同来区分不同的函数;

方法的重载跟返回值类型和修饰符无关,Java的重载是发生在本类中的,重载的条件实在本类中有多个方法名相同,

但参数列表不同(可能是,参数个数不同参数类型不同)跟返回值无关;

 
2,以下代码执行结果为:

    {

    char p = 'p';

    int num=0;

     String searchMe = "peter pip······er picked a peck of pickled peppers";

     for(int i =0;i<searchMe.length();i++){

             if(searchMe.charAt(i) != p){

                return;

     return是使整个函数返回的,后面的不管是循环里面还是循环外面的都不执行
  }

         num ++;

     }

     System.out.println("总共出现了"+num+"次的p");

}

4,输出结果为:

public class VariableDemo {

    private Integer age=4;

    public void print(){

     this.age= 23;

     Integer age = 3;

     System.out.println(age);

    }

public static void main(String[] args) {

    new VariableDemo().print();

}

}

 答案为:3


5,下面说法是否正确

 1.  抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法(正确)

  2. abstract class在Java语言中体现了一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is-a"关系,即父类和派生类在概念本质上应该是相同的。(正确)

   3.对于interface来说则不然,并不要求interface的实现者和interface定义在概念本质上是一致的, 仅仅是实现了interface定义的契约而已。正确


6,代码书写工厂模式

public abstract class INoodles {
     /**
     * 描述每种面条啥样的
     */
String name;

public abstract void desc();

}

public class LzNoodles extends INoodles {
    @Override
    public void desc() {
        System.out.println("兰州拉面 上海的好贵 家里才5 6块钱一碗");
    }

}

public class PaoNoodles extends INoodles {
    @Override
    public void desc() {
        System.out.println("泡面好吃 可不要贪杯");
    }
}

 public class GankouNoodles extends INoodles {
    @Override
    public void desc() {
        System.out.println("还是家里的干扣面好吃 6块一碗");
    }

}

public class SimpleNoodlesFactory {
    public static final int TYPE_LZ = 1;//兰州拉面
    public static final int TYPE_PM = 2;//泡面
    public static final int TYPE_GK = 3;//干扣面
    public static INoodles createNoodles(int type) {
        switch (type) {
            case TYPE_LZ:
                return new LzNoodles();
            case TYPE_PM:
                return new PaoNoodles();
            case TYPE_GK:
            default:
                return new GankouNoodles();
        }
    }

}

public static void main(String[] args){

         INoodles    noodle=SimpleNoodlesFactory.createNoodles(SimpleNoodlesFactory.TYPE_LZ);

        noodle.desc()
}

7,String是否可以被继承?为什么?

 不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。

8,接口与抽象类的区别在哪里?共同点在哪里?

相同点:     (1) 都可以被继承      (2) 都不能被实例化       (3) 都可以包含方法声明      (4) 派生类必须实现未实                                  现的方法  

区 别:     1.接口只有定义,其方法不能再接口中实现,只有实现接口的类才能实现接口中定义的方    法,而                              抽象类的方法可以再抽象类   中被实现。

                      2.接口需要用implements实现,抽象类只能被继承(extends)。

                      3.设计理念不同,接口是"has - a ",抽象类是"is -a "

                      4.抽象类可以有静态方法和静态代码块等,接口不可以。

                     5.接口没有构造方法,抽象类可以有构造方法。


为了加深记忆,下面我举了一个例子

public interface AnimalInteeface {

//在接口中定义的变量 为常量 必须初始化 简写的形式 
   String NAME ="elephent";
//标准的定义方式  常量的名字一般定义为大写

final static String NAMES="elephont";


public void shout();//不能用{}方法体括号,要不然会报错
public void friendly();

}

public class ButterFly implements AnimalInteeface{

      /**

         使用接口必须将方法方法全部覆盖一遍

       */

@Override
public void shout() {

System.out.println("蝴蝶叫....");
}

@Override

public void friendly() {

            System.out.println("动物是人类的朋友....)

}

pubic static void main(String[] args){

    ButterFly fly=new ButterFly();//创建实例化对象

    fly.shout();//调用方法

    fly.friendly()

9,说说你常见的异常,以及解决方式。

1. java.lang.nullpointerexception(空指针)
2. java.lang.arrayindexoutofboundsexception(数组下标越界)


10,补全下面代码

    {

        String date = "2018-07-05 16:01:23";

        DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

        //补全代码

       Date   parseDate=df.parse(date);

 

     System.out.println(parseDate);

    }

   

    {

long currentTimeMillis = System.currentTimeMillis();

    Date date = new Date(currentTimeMillis);

    //将日期格式化为String

     DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

    //补全代码

     String    formatDate=df .format(date);

     System.out.println("经过处理过的日期"+formatDate);

    }

最后

以上就是昏睡猫咪为你收集整理的java考试题第二周为了加深记忆,下面我举了一个例子9,说说你常见的异常,以及解决方式。的全部内容,希望文章能够帮你解决java考试题第二周为了加深记忆,下面我举了一个例子9,说说你常见的异常,以及解决方式。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部