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 实现了接口的具体类型()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本