java - Java 编程语言中的扩展是什么
问题描述
我是 android 新手,但我仍然不明白 java 中的扩展是什么。
解决方案
现在忘记编程(我稍后会来)
- 想想一种动物,比如说老虎。它跳,它跑,它吃,它睡……
- 考虑另一只动物猫。它还会跳、吃、睡……
- 他们之间有一些共同点。这些行为对动物来说很常见。他们正在扩展他们祖先的共同行为。
现在来到编程世界
让我们用 Java 创建这些动物。每个动物之间都有一些共同点。正确的?
class Tiger {
float weight;
float height;
public void jump() {
System.out.println("hey, See the jump");
}
public void eat() {
System.out.println("Tiger is eating, don't disturb");
}
}
class Cat {
float weight;
float height;
public void jump() {
System.out.println("hey, See the jump");
}
public void eat() {
System.out.println("I can eat veg");
}
}
但在编程世界中,我们不应该重复。(重复代码不是一个好习惯)。你可以看到跳跃在猫和老虎之间有共同的代码。吃是区分。
所以我们可以知道把那些常见的东西放在一个Super 类 Animal中。并将它们扩展到猫和老虎
class Animal {
float weight;
float height;
public void jump() {
System.out.println("hey, See the jump");
}
public void eat() {
}
}
class Tiger extends Animal{
//it has Animal's jump method
@Override
public void eat() {
System.out.println("Tiger is eating, don't disturb");
}
}
class Cat extends Animal{
//it has Animal's jump method
@Override
public void eat() {
System.out.println("I can eat veg");
}
}
在上面的代码中,我们重用了 jump 方法,并改变了 cat 和 tiger 的 eat 方法。
一个类获取另一个类的属性(数据成员)和功能(方法)的过程称为继承。继承的目的是提供代码的可重用性,这样一个类必须只编写独特的特性,其余的公共属性和功能可以从另一个类扩展。
这是OOP的一个概念。它被称为继承。在这里学习一些继承的概念
推荐阅读
- c++ - 是否可以确保仅在“静态初始化”步骤中调用函数
- javascript - 使用 Three.js 渲染多个对象会使我的浏览器崩溃
- hbase - HBase 警告 totalCompactingKVs 小于 currentCompactedKVs
- android - ConstraintLayout 中心布局
- java - 我无法构建 Spring Boot 应用 mvn 包
- javascript - javascript 检查是否触发了所需的输入
- coq - Coq:未打印符号
- amazon-web-services - 存储共享资源文件的位置
- ios - PromiseKit 无法在链中命中
- sql - 当一个结果的值为 0 时,SQL 中的公式问题