zoukankan      html  css  js  c++  java
  • 面试题

    1).public void add(int a,String b){

    }

    请分别解释public ,void ,add ,int a ,String b是什么意思.

    2).分别以两种方式初始化一个静态的String类型数组.

             int a[] ; 

             a = new int[3] ; 

             a[0] = 0 ; 

             a[1] = 1 ; 

                     a[2] = 2 ; 

      

            //静态初始化数组:方法一 

            String cats[] = new String[] { 

                    "Tom","Sam","Mimi" 

            }; 

             

            //静态初始化数组:方法二 

                 String dogs[] = {"Jimmy","Gougou","Doggy"}; 

    3).如要初始化int a=3;如何从控制台如何输入、并输出a的值,尝试写出关键代码或者关键方法名.

    4).读程序,写出下面程序的运行结果.

    String str1 = "hello";

    String str2 = "he" + new String("llo");

    System.out.println(str1 == str2);

    5).分析下面程序,写出?的值

    String []a = new String[10];

    则:a[0]~a[9]=?

    a.length=?

    如果是int []a = new int[10];

    则:a[0]~a[9]=?

    length=?

    6).简述abstract和interface的区别在哪?

    public abstract class 车

    {

      public int 轮子;

      public abstract void 移动();

    }

    这个抽象类就声明了所有的车应有的特征(如轮子)和行为(如移动)。之后你就可以扩展(extend)这个抽象类,只要是车,就可以,还有你可以在子类(subclass)中加入自己的特征,如

    public class 跑车 extends 车

     {

      public void 移动()

      {

        System.out.println("我在移动");

      }  

      public void 引擎类型()  //属于自己(跑车)的行为

      {

        System.out.println("高级引擎");

      }

      轮子=4;

     }

     public class 自行车 extends 车

     {

      public void 移动()

      {

        System.out.println("我在移动");

      }  

      public void 爆胎()  //属于自己(自行车)的行为

      {

        System.out.println("我走不动了");

      }

      轮子=2;

     }

    Interface 则用来定义一个协议,所有的方法都可以实现它。一个Interface定义了方法,和最终静态(final static)变量,所有实现这个Interface的都要保证实现的东西与这个Interface 定义的行为一致。使用Interface可以让Object(对象)在一定的规范下沟通。

    public interface TCP协议

    {

     public void 打开端口();

     public void 关闭端口();

    }

    这样的话,只要实现这个Interface的都可以使用这两个方法交流。

    在 Java平台里,它们主要有3个不同点:

    1。一个类(Class)只能继承一个超类(Super class),但是可以实现多个Interface。

    2。在Abstract Class内,你可以有不抽象(Abstract)的方法,即有意义的方法,但Interface不行。

     如

     public abstract class 车

     {

      public int 轮子;

      public abstract void 移动();

      public String 我是什么()

      {

        return "车子";

      }

     }

    7).简述extends和implements关键字有何区别?

    Interface不属于 继承范围。即不可能成为超类(Super Class)

    子类通过extends关键字来继承抽象类(且只能继承一个);

       类通过implements关键字来实现接口(可以实现多个)。

    8).InputStream(输入)/OutputStream(输出)和Reader(输入)/Writer(输出)哪个是字节流、哪个是字符流?哪个可以存储图片信息?

    InputStream(输入)/OutputStream(输出)为后缀的是字节流;

              以Reader(输入)/Writer(输出)为后缀的是字符流。

    9).下面代码的运行结果为:()

    import java.io.*;

    import java.util.*;

    public class foo{

    public static void main (String[] args){

            String s;

            System.out.println("s=" + s);

    }

    }

    A 代码得到编译,并输出“s=”

    B 代码得到编译,并输出“s=null”

    C 由于String s没有初始化,代码不能编译通过

    D 代码得到编译,但捕获到 NullPointException异常

    答案:C

    解析:开始以为会输出null什么的,运行后才发现Java中所有定义的基本类型或对象都必须初始化才能输出值。

    10). System.out.println("5" + 2);的输出结果应该是()。

    A.52                   B.7                     C.2                     D.5

    11).输出程序的打印结果

    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);

            System.out.println(ex.str + "  and  " +ex.ch);

        }

        public void change(String str, char ch[]) {

            str = "test ok";

            ch[0] = 'g';

        }

    }

    打印good and gbc

    good  and  [C@1e57e8f

    12).改错题

    public class Something {

        void doSomething () {

            private String s = "";

            int l = s.length();

            }

        } 

    有错吗?  答案: 错。局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量  (final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)

    13). 输出程序的打印结果

    public class FatherClass {

        public FatherClass() {

            System.out.println("FatherClass Create"); 

            } 

        } 

        public class ChildClass extends FatherClass { 

            public ChildClass() {  

                System.out.println("ChildClass Create"); 

                }  

            public static void main(String[] args) { 

                FatherClass fc = new FatherClass(); 

                ChildClass cc = new ChildClass(); 

                } 

    输出结果:  FatherClass Create  FatherClass Create  ChildClass Create   

  • 相关阅读:
    pycharm的主题设置
    随机产生一个手机号
    Python编写一个登录功能
    Python基本字符串方法
    初识pycharm
    postman接口测试小结
    cookie和session的区别
    vue2 父子组件数据更改
    第一篇 学习OpenCV之图像显示
    OpenCV(2.4.11)的安装与配置
  • 原文地址:https://www.cnblogs.com/hhls/p/5942888.html
Copyright © 2011-2022 走看看