面试错题集1

1. 方法里的变量不能用修饰符修饰。

    public void fun(){

        private int a=0;  //编译错误

    }

 

 

 

2. main函数可以用private修饰,但是不能再被调用。这个是在代码开发时,用main函数测试,发布以后,修改成   private 即可,可以防止被被人误调用。

  public class BBB {


      private  static void main(String[] args) {     //会提示这个main函数不能被调用的警告
                System.out.println("this is a test");

      }

   }

 

3. 接口里定义的变量,默认的都是 final static 修饰的。实现类不能改变这些变量的值,可以初始化。如果初始化了,实现类就不能更改,如果没,则实现类有且只有一次机会赋值

 

    public interface A {
         int a=0;
         public void fun();
    }

 

    public interface B {
        int a=1;
        public void fun();
   }

 

    public class AAA  implements A ,B{

       
         a=3;          //错误,提示a是final类型不能改变,如果变量是对象,同理。
         public void fun(){   //此处没错误,反正都是实现了一种接口,如果把接口B 换成类B,并把fun实现,也没关系,就是相当于覆盖。
              System.out.println(a);   //此处会提示a有冲突
         }
    }

 

4. 阶乘只针对自然数(0,1,2,3,....),对负数无效。并且0!=1.

 

5. 静态的变量在类中能被非静态的方法访问,但是静态的方法只能访问静态的变量

你可能感兴趣的:(面试)