摘要:
·属性/方法查找顺序:(比如:查找变量h) 1. 查找当前类中有没有属性h 2. 依次上溯每个父类,查看每个父类中是否有h,直到Object 3. 如果没找到,则出现编译错误。 4. 上面步骤,只要找到h变量,则这个过程终止。 ·构造方法调用顺序: 构造方法第一句总是:super(…)来调用父类对应 阅读全文
摘要:
“==”代表比较双方是否相同。如果是基本类型则表示值相等,如果是引用类型则表示地址相等即是同一个对象。 Object类中定义有:public boolean equals(Object obj)方法,提供定义“对象内容相等”的逻辑。比如,我们在公安系统中认为id相同的人就是同一个人、学籍系统中认为学 阅读全文
摘要:
Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。如果在类的声明中未使用extends关键字指明其父类,则默认继承Object类。 【示例】Object类 1 2 3 4 5 6 7 public class Person { ... } //等价 阅读全文
摘要:
Object类中定义有public String toString()方法,其返回值是 String 类型。Object类中toString方法的源码为: 1 2 3 public String toString() { return getClass().getName() + "@" + Int 阅读全文
摘要:
子类通过重写父类的方法,可以用自身的行为替换父类的行为。方法的重写是实现多态的必要条件。 方法的重写需要符合下面的三个要点: 1.“==”: 方法名、形参列表相同。 2.“≤”:返回值类型和声明异常类型,子类小于等于父类。 3.“≥”: 访问权限,子类大于等于父类。 【示例】方法重写 1 2 3 4 阅读全文
摘要:
1.父类也称作超类、基类、派生类等。 2.Java中只有单继承,没有像C++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。 3.Java中类没有多继承,接口有多继承。 4.子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属 阅读全文
摘要:
instanceof是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建对象时,返回true;否则,返回false。比如: 【示例】使用instanceof运算符进行类型判断 1 2 3 4 5 6 7 public class Test{ public static void main( 阅读全文
摘要:
继承让我们更加容易实现类的扩展。 比如,我们定义了人类,再定义Boy类就只需要扩展人类即可。实现了代码的重用,不用再重新发明轮子(don’t reinvent wheels)。 从英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继承无处不在。比如: 图5-1 现实世界 阅读全文
摘要:
如果我们要使用其他包的类,需要使用import导入,从而可以在本类中直接通过类名来调用,否则就需要书写类的完整包名和类名。import后,便于编写代码,提高可维护性。 注意要点: 1. Java会默认导入java.lang包下所有的类,因此这些类我们可以直接使用。 2. 如果导入两个同名的类,只能用 阅读全文
摘要:
静态导入(static import)是在JDK1.5新增加的功能,其作用是用于导入指定类的静态属性,这样我们可以直接使用静态属性。 【示例】静态导入的使用 1 2 3 4 5 6 7 8 9 10 11 package cn.sxt; //以下两种静态导入的方式二选一即可 import stati 阅读全文