2021-01-08

继承1:

概念

继承是面向对象最显著的一个特性。

继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类/超类/基类。

这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。

总结

1、在程序中,指的是父类和子类之间的关系

2、子类可以使用父类的方法、属性,也可以扩展

3、不能选择性地继承父类

4、好处:可以提高代码的复用性

举例

class Dog{
    public void eat(){
        System.out.println("吃饭");
    }
}
class Cat{
    public void eat(){
        System.out.println("吃饭");
    }
}
class Rabbit{
    public void eat(){
        System.out.println("吃饭");
    }
}

其中三个类Dog、Cat、Rabbit都有相同的eat()方法,如果有很多相似的类,就会出现大量代码冗余,以下是利用继承优化后的代码

public class Test {
	public static void main(String[] args) {
		Dog dog = new Dog();
		dog.eat();
		Cat cat = new Cat();
		cat.eat();
		Rabbit rabbit = new Rabbit();
		rabbit.eat();
	}
}
class Animal{
    public void eat(){
        System.out.println("吃饭");
    }
}
class Dog extends Animal{
    }
class Cat extends Animal{
    }
class Rabbit extends Animal{
    }

可以看到Dog、Cat、Rabbit三个类中都没有eat()方法,但是却可以使用父类中的eat方法

特点

1、 使用extends关键字

2、 相当于子类把父类的功能复制了一份

3、 java只支持单继承

4、 继承可以传递(爷爷,儿子,孙子的关系)

5、 不能继承父类的私有成员

6、 继承多用于功能的修改,子类可以拥有父类的功能的同时,进行功能拓展

7、 像是is a 的关系(强制性的依赖关系)

你可能感兴趣的:(Java学习笔记,java)