Java学习笔记:抽象类与接口解析

需积分: 9 0 下载量 2 浏览量 更新于2024-09-04 收藏 17KB MD 举报
"稳稳当当学java之抽象类和接口(11)——关于java基础中抽象类和接口的学习笔记,包含作业回顾、继承规则、方法重写、多态、final修饰符、抽象类和接口的讲解及练习案例。" 在Java编程中,抽象类和接口是面向对象设计的重要概念,它们用于实现代码的多态性和灵活性。 ### 1. 作业回顾 这部分回顾了创建`Person`和`Student`类的练习。`Person`类包含姓名`name`和年龄`age`属性,提供getter和setter方法,以及一个`say`方法用于自我介绍。`Student`类继承自`Person`,添加了学号`sno`和分数`score`属性,并有相应的getter和setter。在`Student`类中,使用了super关键字调用父类构造器,确保父类属性的初始化。 ### 2. 继承规则 在Java中,一个类可以继承另一个类(单一继承),从而获取其所有非私有的属性和方法。这使得子类能够复用和扩展父类的功能。 ### 3. 方法重写 方法重写(Override)是指子类重新定义父类中已存在的同名方法,通常是为了提供更适合子类的行为。在`Student`类中,没有显示地重写`say`方法,但可以自定义一个以包含学生特有的信息。 ### 4. 多态 多态(Polymorphism)允许我们使用父类类型的引用指向子类的对象,这样就可以通过父类引用调用子类重写的方法,实现不同子类的差异化行为。例如,可以创建一个`Person`类型的数组,其中可以存储`Student`对象,然后调用`say`方法,根据实际对象类型执行相应的方法。 ### 5. final修饰符 `final`关键字可以用于变量、方法和类。对于变量,`final`表示不可修改;对于方法,`final`表示不能被重写;对于类,`final`表示该类不能被继承。 ### 6. 抽象类 抽象类是一种不能被实例化的类,它用于定义共同的接口或属性。抽象类可以包含抽象方法(没有具体实现的方法),子类必须实现这些方法。使用`abstract`关键字声明一个类为抽象类,使用`abstract`修饰方法声明其为抽象方法。 ### 7. 接口 接口(Interface)是Java中另一种实现多态的方式,它只包含常量和抽象方法的定义。类可以实现多个接口,从而实现多重继承的效果。接口使用`interface`关键字声明,所有的方法默认都是抽象的(public abstract)。 ### 8. 实践 在学习了上述概念后,可以通过编写练习来巩固知识,如创建更多的子类,实现抽象类或接口,以及设计更复杂的方法重写等。 总结,Java中的抽象类和接口是面向对象设计的核心组成部分,它们帮助构建可扩展和可维护的代码结构。理解并熟练运用这些概念,对于成为一名优秀的Java开发者至关重要。