传智播客第二次测试总结

来源:互联网 发布:舆情监测软件下载 编辑:程序博客网 时间:2024/05/17 22:53

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. 

//=============容易出错,方法调用每一次都会,把变量的值加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中,已定义了两个接口BC以下语句正确的是    

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)







0 0
原创粉丝点击