Java语言的经验分享
buzzkiller
这个作者很懒,什么都没留下…
展开
-
java中==与equal()的区别
一、数据的存储位置1 .基本数据类型:存储在栈中;2 .引用数据类型:其地址存储在栈中,而本身内容存储在堆中。二、==与equal()的使用1 .判断基本数据类型的内容是否相等用==2 .只有类才有equal()方法3 .对于非基本数据类型,例如String,==是判断其地址是否相等,equal()才是判断字符串的内容是否相等三、相关链接链接1链接2...原创 2018-03-25 17:59:48 · 209 阅读 · 0 评论 -
mutable与immutable
1.mutable(可变)和immutable(不可变)类型的区别可变类型的对象:提供了可以改变其内部数据值的操作,其内部的值可以被重新更改。不可变数据类型:其内部的操作不会改变内部的值,一旦试图更改其内部值,将会构造一个新的对象而非对原来的值进行更改。Java中不可变对象的经典例子就是String类的实例: [java] view plain copyString s = "ABC";...原创 2018-06-22 18:58:11 · 1203 阅读 · 0 评论 -
类与继承
1.子类继承父类的成员变量 当子类继承了某个类之后,便可以使用父类中的成员变量,但是并不是完全继承父类的所有成员变量。具体的原则如下: 1)能够继承父类的public和protected成员变量;不能够继承父类的private成员变量; 2)对于父类的包访问权限成员变量,如果子类和父类在同一个包下,则子类能够继承;否则,子类不能够继承; 3)对于子类可以继承的父类成员变量,如果在子类中...原创 2018-06-22 19:51:49 · 202 阅读 · 0 评论 -
重载与重写(覆盖)
重载(Overloading) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。 Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。 重载的时候,方法名要一...原创 2018-06-23 10:32:18 · 265 阅读 · 0 评论 -
防御式拷贝
假设类的客户端会尽其所能来破坏这个类的约束条件,因此你必须保护性的设计程序。demo:[java] view plain copyimport java.util.Date; public final class Period { private final Date start; private final Date end; public Period(Da...原创 2018-06-23 14:54:24 · 1042 阅读 · 0 评论