1.继承
继承让我们更加容易实现类的扩展,子类是父类的扩展。Java中类没有多继承,接口有多继承。子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。
2.instanceof运算符
instanceof是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建对象时,返回true;否则,返回false。(栗子在代码15行)。
3.override
子类通过重写父类的方法,可以用自身的行为替换父类的行为。方法的重写是实现多态的必要条件。
方法的重写需要符合下面的三个要点:
1.“==”: 方法名、形参列表相同。
2.“≤”:返回值类型和声明异常类型,子类小于等于父类。
3.“≥”: 访问权限,子类大于等于父类。
4.toString
输出对象默认会返回“类名+@+16进制的hashcode”。在打印输出或者用字符串连接对象时,会自动调用该对象的toString()方法。
package TestTextbook;
public class TestObject {
public static void main(String[] args) {
Object obj;
Animal cc = new Animal();
cc.name="cc";
cc.number=101;
cc.rest();
System.out.println("it's a nice day today");//注意调用顺序
Cat ice = new Cat();
ice.rest();
ice.lunch();
System.out.println(cc);//toString
System.out.println(cc instanceof Cat);//结果false,cc不属于Cat创建的的对象或子类
}
}
class Animal{
String name;
int number;
@Override
//重写toString
public String toString() {
return name+number;