10.10

 

 

 

因为子类继承了父类的成员变量和方法,所以在构造子类之前,必须先构造出一个父类,即调用父类的构造方法,初始化父类后,继承的子类才可以调用自身的构造函数初始化,而父类不知道子类,并且也不存在子类的成员变量,所以无法调用子类的构造方法进行初始化。

 

在“+”运算中,当任何一个对象与一个String对象连接时,会隐式地调用其toString()方法,默认情况下,此方法返回“类名@+hashCode”。为了返回有意义的信息,子类可以重写toString()方法。

 

 

 

 

 

 

instanceof运算符是判断一个对象是否可以转换为指定的类型,例如

Object obj=”hello”;

if(obj instanceof String)

 

 

 

java多态对于非静态成员方法“编译看左边,执行看右边”,对于非静态成员变量“编译和执行都看左边”。如果子类被当作父类使用,则通过子类访问的字段是父类的。

 

 

多态可以让代码有更强的适用性,当需求变化时,多态特性可以帮助我们将需要改动的地方减少到最低限度。当修改程序并扩充系统时,需要改动的地方较少,对其他部分代码的影响较小。

 

从抽象类继承的子类必须实现父类的所有抽象方法,否则,仍然是抽象类并且无法创建实例。抽象类不能创建对象,一般用来引用子类对象。

抽象类 抽象类变量 = new 派生自抽象类的具体子类();

 

面向对象可以使用 接口(interface) 来抽象对象的行为特性。接口采用关键字implements

例如 public interface IFood{

public void Cook();

}

public class Duck extends Bird implements IFood{

public void Cook{

}

}

接口类型  接口类型的变量=new 实现了接口的具体类型()

posted @ 2022-10-10 11:14  小趴菜且能喝66  阅读(189)  评论(0编辑  收藏  举报