一.equals和==的区别
1.基本数据类型,也称原始数据类型。它们之间的比较,应用于双等号(==),比较他们的值。
2.复合数据类型,当它们用(==)进行比较,比较的是它们在内存中的地址,除非是同一个new出来的对象,它们的比较后的结果为true,否则比较后的结果为flase。
java当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地址的,对于引用数据类型之间进行equals比较,在没有复写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值。
但在一些类库中这个方法被覆盖掉了,如String,Interger,Date,在这些类中equals有其自身的实现,而不是比较内存中的存放地址,而是比较内容。
封装 继承 多态
继承:指的是一个类继承另外一个类的功能,并可以增加它的新功能的能力,用extends明确标识。
封装:把对象的属性和行为结合为一个独立的整体,并尽可能的隐藏对象的内部实现细节。
多态:指不同的对象对同一个消息作出的响应,同意消息可以根据发送对象的不同而采用不同的行为方式,方法的重写,重载构成多态性。
构造方法:
创建类时,系统给该类加上一个无参的构造方法。
当创建了自定义的构造方法后,系统所提供的默认构造方法就无效了。
构造方法与普通方法的区别:
1.一般函数是用于定义对象应该具备的功能,而构造方法定义的是:对象再调用功能之前,在建立时,应该具备一些内容,也就是对象的初始内容。
2.构造方法是对象建立时由JVM调用,给对象初始化,一般函数是对象建立后,当对象调用该功能时才会执行。
3.普通函数可以使用对象多次调用,构造函数在创建对象是才会调用。
4.构造方法的函数名与类名一样。
5.构造方法没有返回值。