hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个 int 整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashCode() 定义在 JDK 的 Object.java 中,这就意味着 Java 中的任何类都包含有 hashCode() 函数。 散列表存储的是键值对(key-value),它的特点是:能根据“键”快速的检索出对应的“值”。这其中就利用到了散列码!(可以快速找到所需要的对象) 支付 ¥1.99 购买本节后解锁剩余72%的内容 微信支付 如已付费购买,请免登录…

2021年10月1日 0条评论 1310点热度 0人点赞 小小调酒师 阅读全文

在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。 静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。

2021年10月1日 0条评论 1126点热度 0人点赞 小小调酒师 阅读全文

1、从语法形式上,看成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 final 所修饰; 2、从变量在内存中的存储方式来看,成员变量是对象的一部分,而对象存在于堆内存,局部变量存在于栈内存。 支付 ¥1.99 购买本节后解锁剩余43%的内容 微信支付 如已付费购买,请免登录验证。

2021年10月1日 0条评论 1138点热度 0人点赞 小小调酒师 阅读全文

1、接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),抽象类可以有非抽象的方法。 2、接口中的实例变量默认是 final 类型的,而抽象类中则不一定。 3、一个类可以实现多个接口,但最多只能实现一个抽象类。 4、一个类实现接口的话要实现接口的所有方法,而抽象类不一定。 支付 ¥1.99 购买本节后解锁剩余34%的内容 微信支付 如已付费购买,请免登录验证。

2021年10月1日 0条评论 1112点热度 0人点赞 小小调酒师 阅读全文

Java 程序在执行子类的构造方法之前,如果没有用 super() 来调用父类特定的构造方法,则会调用父类中“没有参数的构造方法”。因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用 super() 来调用父类中特定的构造方法,则编译时将发生错误,因为 Java 程序在父类中找不到没有参数的构造方法可供执行。解决办法是在父类里加上一个不做事且没有参数的构造方法。

2021年10月1日 0条评论 1002点热度 0人点赞 小小调酒师 阅读全文

简单说应用程序是从主线程启动(也就是 main() 方法)。applet 小程序没有main 方法,主要是嵌在浏览器页面上运行(调用 init()线程或者 run()来启动),嵌入浏览器这点跟 flash 的小游戏类似。

2021年10月1日 0条评论 1132点热度 0人点赞 小小调酒师 阅读全文

① 都是面向对象的语言,都支持封装、继承和多态。 ② Java 不提供指针来直接访问内存,程序内存更加安全。 ③ Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。 ④ Java 有自动内存管理机制,不需要程序员手动释放无用内存。

2021年10月1日 0条评论 1116点热度 0人点赞 小小调酒师 阅读全文

Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。 在 Java 中,JVM 可以理解的代码就叫做字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以 Java 程序运行时比较高效,而且,由于字节码并不专对一种特定的机器,因此,Ja…

2021年10月1日 0条评论 1109点热度 0人点赞 小小调酒师 阅读全文

优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发,性能是最重要的因素。 缺点: 没有面向对象易维护、易复用、易扩展。 优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。 缺点: 性能比面向过程低。 简单易学; 面向对象(封装,继承,多态); 平台无关性(Java 虚拟机实现平台无关性); 可靠性; 安全性; 支持多线程(C++ 语言没有内置的多线…

2021年10月1日 0条评论 1162点热度 0人点赞 小小调酒师 阅读全文

1. tryLock能获得锁就返回true,不能就立即返回false,tryLock(long timeout,TimeUnitunit),可以增加时间限制,如果超过该时间段还没获得锁,返回false。 2. lock能获得锁就返回true,不能的话一直等待获得锁。 3. lock和lockInterruptibly,如果两个线程分别执行这两个方法,但此时中断这两个线程,lock不会抛出异常,而lockInterruptibly会抛出异常。

2021年9月28日 0条评论 1301点热度 0人点赞 小小调酒师 阅读全文
145678