下面是详细的攻略。
标题
Java中extends与implements的区别浅谈
简介
在Java继承和实现接口中,extends和implements是两个关键字,都是用来实现类与类之间的继承关系的。但是它们在实现继承关系中有着不同的作用。
extends与implements区别
1.关键字:extends表示继承一个类,implements表示实现一个接口。
2.继承与实现:继承是指一个类继承另一个类的特征和行为,把继承的内容作为子类的一部分。实现是指实现一个接口,必须实现接口中声明的所有方法。
3.关系:子类和父类之间是“is-a”的关系,实现一个接口是“like-a”的关系。
extends示例
我们来看下面的代码:
// 父类Animal
class Animal {
public void eat() {
System.out.println("动物会吃!");
}
}
// 子类Dog
class Dog extends Animal {
public void bark(){
System.out.println("狗会叫!");
}
}
// 测试
public class ExtendsTest {
public static void main(String[] args) {
Dog d = new Dog();
d.eat(); // 调用Animal中的方法
d.bark(); // 调用Dog中的方法
}
}
在上面的代码中,我们定义了一个Animal父类和一个Dog子类,Dog类继承了Animal类的所有属性和方法。这里我们通过d.eat()来调用Animal类的eat()方法,通过d.bark()来调用Dog类的bark()方法。
implements示例
我们来看下面的代码:
// 接口Animal
interface Animal {
public void eat(); // 抽象方法
}
// 实现类Dog
class Dog implements Animal{
public void eat(){
System.out.println("狗会吃!");
}
public void bark(){
System.out.println("狗会叫!");
}
}
// 测试
public class ImplementsTest {
public static void main(String[] args) {
Dog d = new Dog();
d.eat(); // 调用实现类中的方法
d.bark(); // 调用实现类中的方法
}
}
在上面的代码中,我们定义了一个Animal接口和一个Dog实现类。Dog类通过implements关键字实现了Animal接口,必须实现Animal接口中声明的所有方法。在这个例子里,Dog类实现了Animal中的eat()方法,还自己定义了一个bark()方法。
结论
综上所述,extends和implements都可以实现类与类之间的继承关系,但二者的作用不同。使用extends关键字表示继承一个类,使用implements关键字表示实现一个接口。在具体使用时,我们应该根据具体情况进行选择。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中extends与implements的区别浅谈 - Python技术站