Java新手(手写笔记:实现vs扩展)
我刚开始学习Java,我一直在阅读、概述我的书《Murach的Java编程(第五版)》,并做笔记 尽管有我的笔记,我仍然对Java感到困惑。我只是想知道我写的笔记是否正确?我确实在网上寻求帮助(包括在这个论坛上的一些帖子),但我仍然不确定我是否做对了 (注:我可能需要更多的笔记帮助。我应该重复使用这个帖子,还是创建一个新主题?)Java新手(手写笔记:实现vs扩展),java,Java,我刚开始学习Java,我一直在阅读、概述我的书《Murach的Java编程(第五版)》,并做笔记 尽管有我的笔记,我仍然对Java感到困惑。我只是想知道我写的笔记是否正确?我确实在网上寻求帮助(包括在这个论坛上的一些帖子),但我仍然不确定我是否做对了 (注:我可能需要更多的笔记帮助。我应该重复使用这个帖子,还是创建一个新主题?) 我的笔记 实现关键字用于以下内容: 继承接口(技术上称为“子接口”) 如果不希望继承所有方法和字段,则必须将其声明为抽象类 扩展关键字用于以下内容: 创建子类(如前面
我的笔记 实现关键字用于以下内容:
不确定与前一点有什么区别,因为子类是通过使用extends关键字的继承创建的。因此,我将把它合并到语句中。一个例子可能会更清楚地理解这个概念
等级车{
公共抽象字符串getMake();
公共抽象字符串getModel();
}
接口报警系统{
公共警报(布尔状态);
}
现在,您可以创建如下类:
class MyCar扩展了汽车报警系统{
私有布尔恐慌=假;
公共字符串getMake(){return“Ford”;}
公共字符串getModel(){return panic?“Loud Mustang”:“Mustang”};
public void setPanicAlarm(布尔状态){panic=state;}
}
你可以说“我的车是一辆车”。“是一个”的概念很重要。使用extends
与说“是一个”相同。不过,说“我的车是一个报警系统”是没有意义的。这是一种“有”的关系。说“我的车是一辆车,有一个报警系统”是有道理的
在构建类时,问问自己该类是否是其超类(它扩展的超类)的实例
在这个例子中,你可以想象有其他没有报警系统的汽车,这很好。有些没有
因此,也许写笔记的更好方法是:
implements关键字用于以下内容:
- 实现接口以向类中添加功能
- 创建现有类的子类,以便在继承父类的所有功能的同时扩展和自定义它们