您的位置:首页 > 其它

传智播客第二次测试总结

2014-08-04 00:04 197 查看
1.

       构造方法没有返回类型,看代码需要注意,void跟没有返回类型是不同的,void也是返回类型。========================

2.

      强制转换类型的时候,被转换的前面必须用括号把要转的类型括起来。把父类强制转换为子类的时候,不要忘了括号把子类类型写前面。=========

3.

        下面说法正确的是( 
)。

      A.  匿名内部类编译后不会生成.class文件  
//也会生成 ,
大家可以自己试下.

      B.  接口编译后不会生成.class文件  
//也会有的.

      C.  抽象类中没有构造方法  
//有构造方法,


      D.  局部内部类只能访问被final修饰的局部变量。

4.

        子类复写父类的方法时,返回类型必须一致。

5.

如果给了有参的构造方法,没有给无参的,那么实例化对象的时候,不传参数,会报错,最好的办法就是,构造方法,无参和有参都写出来,以免出错,只有没有构造方法时候,系统才回默认给出无参构造,========================================================================================================

6.

1.    编译运行如下Java代码,输出结果是(  
)。

class Base {

    public voidmethod(){

          System.out.print ("Basemethod");

    }

}

class Child extends Base{   

 

    public voidmethodB(){

          System.out.print ("ChildmethodB");

    }

}

class Sample {

    public staticvoid main(String[] args) {

          Base base= new Child();

          base.methodB();  //
父类中没有methodB()方法,所以会报错.

    }

}

      A.  Base method

      B.  ChildmethodB

      C.  Base method Child MethodB

      D. 
编译错误

 //=================多态,是子父类的方法一样,除了方法体,如果返回类型以及方法名称不一样,那么父类编译的时候会报错,编译只看左边父类,运行才会看子类。===

7.

 给定java代码,如下:  

public class Test{ 

static int i=0; 

public int aMethod( ){

 i++;

 return i; 



public static void main(String [] args){ 

Test test = new Test( ); 

test.aMethod( ); // i=1

System.out.println(test.aMethod( )); //i=2



 }编译运行后,输出结果是( )。 

A.  0  

B.  1  

C.  2  

D.  3 

//=============容易出错,方法调用每一次都会,把变量的值加1,最后是2=========----------------------------------------------------==============================
1.    给定一个Java程序代码,如下:

 public class Test{ 

 int count = 9; 

 public void count1(){  

int count =10; 

            System.out.println("count1="+count);  



      public void count2(){ 

            System.out.println("count2="+count);  



      public static void main(String args[]){ 

Test t=new Test();   

t.count1();  

t.count2();  

}



 编译运行后,输出结果是

A.  count1=9 count2=9  

B.  count1=10 count2=9  

C.  count1=10 count2=10  

D.  count1=9 count2=10 

 //===============就近原则===============-----------------------------------------------------------------------------------------------------------------------=========================

***子类重写父类方法,权限必须大于等于父类方法的.

Public  protected   default(啥也不写) 
private

1.    在java中,已定义了两个接口B和C以下语句正确的是 ( )  

A.  interface A extends B,C  

B.  interface A implements B,C  

C.  class A implements B,C 

D.  class A implements B,implements C

1.    关于abstract不能和哪些关键字共用正确的是()

A.  abstract不可以和private共用 //
抽象方法无法被继承,更谈不上被子类重写了.

B.  abstract不可以和static共用 
// 类名.方法(),
如果是个抽像方法,那么没有意义.

C.  abstract不可以和final共用 //
抽象方法无法被继承,更谈不上被子类重写了.

D.  abstract不可以和public共用

1.    在Java接口中定义常量,下面语法正确的是()。

      A.  static final int MALE = 1;//a,b,c 都对

      B.  final int MALE = 1;

      C.  int MALE = 1;

      D.  private int MALE = 1;  //wrong

 

public static final int MALE  = 1;
接口中只定义常量的方法.

public abstract 返回值 method();
接口中只定义抽象方法.

 //===================java compareto的用法=====================================================================================

public class TestStringCompare {

public static void main(String args[])

{

   String s1="abc";

   String s2="abcd";

   System.out.println("s1.compareTo(s2)"+s1.compareTo(s2));//前缀相同则比较长度,长度差-1

   System.out.println("s1.compareTo(s2)"+s1.compareTo("abcdefgh"));//长度差-5

   String s3="abc";

   String s4="ae";

   System.out.println("s3.compareTo(s4)"+s3.compareTo(s4));//只比较第一个不同的字符处b-e=-3

   String s5="abcdeg";

   String s6="acce";

   System.out.println("s5.compareTo(s6)"+s5.compareTo(s6));//b-c=-1

   String s7="abc";

   String s8="abb";

   System.out.println("s7.compareTo(s8)"+s7.compareTo(s8));//c-b=1

   String s9="abc";

   String s0="abaaaaaaaaaaaaa";

   System.out.println("s9.compareTo(s0)"+s9.compareTo(s0));//c-a=2只比较第一个不同的字符处,与长度无关

String sa="我";

   System.out.println("s9.compareTo(s0)"+s9.compareTo("喔"));//-2181因为是Unicode编码可以比较汉字

}

}

compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度. 

例: 

String s1 = "abc"; 

String s2 = "abcd"; 

String s3 = "abcdfg"; 

String s4 = "1bcdfg"; 

String s5 = "cdfg"; 

System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1) 

System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3) 

System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48) 

System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: