摘要:传值 vs 传引用 传值 就是把实参(a)这个值复制给传参(b),因此之后的修改都是对传参的修改,和实参无关。 public void main(){ int a = 1; change(a); } public void change(int b){ b = 2; } 传引用 依然是把实参(a)的
阅读全文
摘要:ref: https://www.cnblogs.com/pengfeiliu/p/3745934.html 类中的数据成员和成员函数据具有的访问权限包括:public、protect、friendly(包访问权限)、private public:public表明该数据成员、成员函数是对所有用户开放
阅读全文
摘要:ref:https://www.cnblogs.com/TinyWalker/p/4834685.html 编写equals方法的建议: public boolean equals(Object otherObject) if(this==otherObject){ return true;} if
阅读全文
摘要:ref: https://www.cnblogs.com/lori/p/8308671.html 在 java 中进行比较,我们需要根据比较的类型来选择合适的比较方式: 对象域,使用 equals 方法 。 类型安全的枚举,使用 equals 或== 。 可能为 null 的对象域 : 使用 ==
阅读全文
摘要:instanceof 父类子类 结论: 子类 instanceof 父类 == true 父类 instanceof 子类 == false
阅读全文
摘要:总结 什么是反射? 1-JAVA反射机制是在运行状态runtime中: 对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意方法和属性; 2-反射就是把java类中的各种成分(成员变量、方法、构造方法、类)映射成一个个的Java对象(成员变量Field、方法Met
阅读全文
摘要:总结 共同点,都可以修饰类,方法,属性。而不同点: static 含义:表示静态或全局,被修饰的属性和方法属于类,可以用类名.静态属性 / 方法名 访问 static 类:只可能是静态内部类!!!否则编译不通过!!Java规定,顶级类不能声明为static!!! 参考-> 静态内部类 vs 非静态内
阅读全文
摘要:总结: 1. 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。 2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。 3. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。 4.
阅读全文
摘要:总结 String 和 StringBuffer、StringBuilder 的区别 在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,
阅读全文
摘要:结论 1-源代码中使用的+连接,实际上都使用的是StringBuilder。 2-用jad工具反编译,好处之一就是可以同时生成字节码和源代码。这样可以进行对照研究。 正文 字符串是Java程序中最常用的一种数据结构之一。在Java中的String类已经重载的"+"。也就是说,字符串可以直接使用"+"
阅读全文
摘要:https://www.jianshu.com/p/67190bdce647
阅读全文
摘要:https://blog.csdn.net/lin_sir6/article/details/70052954
阅读全文
摘要:总结 1. == vs equal() ==是判断两个变量或实例是不是指向同一个内存空间,equals()是判断两个变量或实例所指向的内存空间的值是不是相同(覆盖以后,默认还是返回==的值) Object类的默认equals()方法,返回的依然是==结果。因此,如果不重写equals方法,== &
阅读全文
摘要:什么是泛型? "参数化类型",将类型由具体的类型参数化,把类型也定义成参数形式(称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。是 JDK 5 中引入的一个新特性,提供了编译时类型安全监测机制,该机制允许程序员在编译时监测非法的类型。泛型的本质是把参数的类型参数化,也就是所操作的数据
阅读全文