Java基础每日10题——第一天

1.面向对象都有哪些特性以及对这些特性的理解

  • 继承
  • 多态性
  • 封装
  • 抽象

2.访问权限修饰符public、private、protected、default的区别

  • public对所有都可用
  • private只能对本类中使用
  • protected只能在类、子类、包中使用
  • default只能在本包内被访问,子类不可访问

3.Java有没有goto语句

没有

4.&和&&的区别

对于&:无论&左边是否为false,他都会继续检验右边的boolean值。
对于&&:只要检测到左边Boolean值为false时,就会直接判断结果,不会在检验右边的值(因为"与"有一个false最后结果就是false了)
两者执行的结果是一样的

5.在Java中,如何跳出当前的多重嵌套循环

1.标号方式
2.break跳出当前循环,通过内部跳出条件控制跳出外部循环
break是跳出最接近的那一层循环,而不是全部跳出
3.抛出异常也可以跳出多重循环
这里是直接跳出应用
4.return语句

6.两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句 话对不对?

不对!
hashCode 的常规协定是:
1.在 Java 应用程序执行期间,在对同一对象多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是将对象进行 equals 比较时所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。
2.如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果。
3.如果根据 equals(java.lang.Object) 方法,两个对象不相等,那么对这两个对象中的任一对象上调用 hashCode 方法不要求一定生成不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能。

7.重载的方法不能根据返回类型进行区分,因为编译器无法得出你要调用的是哪个方法,如下情况:

float max(int a,int b)
int max(int a,int b)

8.抽象类和接口有什么异同?

1.抽象类是“声明方法的存在而不去实现它”的类;而接口中的所有方法都是抽象的。
2.接口可以多继承,抽象类不行
3.接口定义方法而不可以实现方法;抽象类可以实现部分方法。
4.接口中基本数据类型为static,而抽象类不是。
5.当你关注一个事物的本质时,用抽象类;当你关注一个操作的时候,用接口。

9.静态变量和实例变量的区别

静态变量属于类。实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用

public class Test11 {  
    public static int staticVar = 0;  
    public int instanceVar = 0;  
  
    public Test11() {  
        staticVar++;  
        instanceVar++;  
        System.out.println("staticVar=" + staticVar + ",instanceVar="  
                + instanceVar);  
    }  
  
    public static void main(String[] args) {  
        Test11 test = new Test11();  
        Test11 test1 = new Test11();  
        Test11 test2 = new Test11();  
    }  
}  

输出:

staticVar=1,instanceVar=1  
staticVar=2,instanceVar=1  
staticVar=3,instanceVar=1  

10.==和equals的区别

最基本的理解:==比较的是两个对象或实例是否指向同一块内存空间,而equals是比较两个变量或者实例指向的内存空间的值是否相等
深入理解:看源码,到时再来回顾

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,263评论 1 44
  • 集合框架: 1)特点:存储对象;长度可变;存储对象的类型可不同2)Collection(1)List:有序的;元素...
    Demo_Yang阅读 1,286评论 0 4
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,142评论 0 62
  • 出粮咯,恶心的人工! 今天思考了一下,还是明天和妈妈去看病!顺便.... 今天家人终于病好了!好感动! 股票也涨得...
    DeathKnightR阅读 329评论 0 0