【图文解析 】Java的抽象类、多态

xiaoxiao2025-09-24  319

1.抽象类:

只是约定了了类的抽象行为,没有具体的实现相应的行为。

2.场合:

此类不适合创建对象,使用子类的对象此类,为所有子类提供了模板

3.语法:

Abstract class 抽象类{

    类中的成员;

    抽象的方法;

}

4. 使用注意:

抽象类不能创建对象;必须通过  子类继承使用;普通的子类必须 实现(重写)父类中的所有抽象方法;抽象的子类除外;构造器不能是抽象;abstract 不能与 private ,static ,final一起用;抽象方法可以定义也可以不定义。

- -- - - - - - - - - - - - -  -- - -- - - - - - - - - - - - -  -- - -- - - - - - - - - - - - -  -- - -- - - - - - - - - - - -

抽象方法:没有具体实现的方法。

- -- - - - - - - - - - - - -  -- - -- - - - - - - - - - - - -  -- - -- - - - - - - - - - - - -  -- - -- - - - - - - - - - - -

接口:是一组功能的封装,是一组公共的规则。语法:访问修饰符 interface 接口名{

常量;

抽象方法();

Default默认方法(){}

Static 静态方法(){}

静态内部类型;内部类,接口,枚举

}

1.注意:

接口是不能创建对象的;实现类 实现接口;普通的实现类 必须实现接口中的所有抽象方法;(抽象实现类除外);实现类 可以实现多个接口中的功能;

接口 可以继承接口,可以多继承;接口中的成员:都是public,抽象方法都是abstract;常量是public static final。

2.接口中 有同名的方法:

 

抽象方法:实现类统一 重写;

- - -- - - - - - - - - - - - -  - -- - -- - - - - - - - - - - - -  - -- - -- - - - - - - - - - - - -  - -- - -- - - - - - - - - - - -

速度

①都不能创建对象;

②都存在抽象方法;

③都是子类或实现类继承或实现来使用;

④普通的子类和实现类必须重写抽象类或接口中的所有抽象方法;(抽象子类或实现类除外)

普通的子类 和 实现类 必须重写 抽象类 或接口中的所有抽象方法;抽象子类或实现类除外。不同:

①子类只能 继承一个抽象类;实现类可以 实现多个接口;

②类是单一继承;接口可以多继承。

接口:一组规则。同一应用程序,降低耦合连接。不同应用程序,连接的桥梁。抽象类:模板。

- - -- - - - - - - - - - - - -  - -- - -- - - - - - - - - - - - -  - -- - -- - - - - - - - - - - - -  - -- - -- - - - - - - - - - - -

1.多态:

多态:

运行时多态;

 

package Day11;

class Teacher{

    String name;

    public void giveLesson() {}

}

class JavaTeacher extends Teacher{

    String tattoo;

    public void sing() {}

    public void giveLesson() {System.out.println("Java");}

}

public class TestTeacher {

    public static void main(String[] args) {

       //父类引用 -》子类对象

       JavaTeacher guofu = new JavaTeacher();

       guofu.giveLesson();

       System.out.println(guofu.name);

    }

Person zhangsan = new Person();

 

2.特点:子类(实现类)中的独特的功能被屏蔽了不能调用了。

3.类型转换:向上类型转换:子类 –》父类类型;     强转

 

            向下类型转换:父类 –》子类类型; 

4.instanceof 运算符:运算 某个 对象 是否是 接口类型;

                   是  --》true

                   不是—》false

- - -- - - - - - - - - - - - -  - -- - -- - - - - - - - - - - - -  - -- - -- - - - - - - - - - - - -  - -- - -- - - - - - - - - - - -

 

UML:建模语言。类图: 泛化:继承(extends)实现:接口 和 实现类(implements)依赖:使用的关系。

语法:被依赖的类 作为 局部变量(参数)。

关联:拥有。(三种关系:一对一、一对多、多对多)

特殊的关联:

强关联:

聚集(聚合):整体 局部的关系。局部离开整体可以独立存在。

语法:成员变量。    强聚合: 

组合:整体 局部的关系。局部离开整体不能独立存在。

转载请注明原文地址: https://www.6miu.com/read-5036807.html

最新回复(0)