JAVA基础(一)

面向对象和面向过程的区别

面向对象:面向对象易维护、易复用、易扩展,是因为面向对象有封装、继承、多态性的特性,所以设计出低耦合度的系统,使系统更加灵活、更易于维护。但是面向对象性能比面向过程低。

面向过程:面向过程性能比面向对象高,因为类调用时需要实例化,开销比较大,比较耗资源,所以当性能是最重要的考量因素的时候,单片机、嵌入式开发Linux/Unix等一般采用面向过程开发,但是,面向过程没有面向对象易维护、易复用、易扩展。

JDK 和 JRE

JDK是功能齐全的javaSDK,它拥有JRE所拥有的一切,还有开发工具包:编译器(javaC)和工具(如javadoci n和jdb)。它能够创建和编译程序。

JRE是java运行时环境,它是运行已编译java程序所需的所有内容的集合,包括java虚拟机(JVM),java类库,java命令和其他的一些基础构件。但是,它不能用于创建新程序。

==与equals的区别

1)对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;

    如果作用于引用类型的变量,则比较的是所指向的对象的地址

2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量

    如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;

    诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。

两个对象的hashCode()相同,则equals()也一定为true,对吗?

两个对象equals相等,则它们的hashCode必须相等,反之则不一定(它们的hashCode相等,则两个对象的equals不一定相等)。两个对象的==相等,则其HashCode一定相等,反之不一定成立。

HashCode(哈希码值)的存在主要应用于查找的快捷性,如 hashTable、hashMap等,HashCode是确定对象在散列储存结构中的地址值。

。反之HashCode相等,但是两个对象的equals比较不一定相等,也就是说这两个对象之间不一定使用于equals方法,只能说明这两个对象都存在于散列存储结构中。

final在Java中有什么作用(在Java中final可以修饰类、变量、方法)

1,Final 修饰类:当 final 修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用 final 进行修饰。final 类中的成员变量可以根据需要设为 final ,但是要注意 final类中的所有成员方法都会被隐式地指定为 final 方法。

2,Final 修饰方法:当 final 修饰一个方法后,该方法不能被子类重写(可以重载多个 final 修饰的方法),注意:重写的前提是子类可以从父类中继承此方法,

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弥织

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值