Java的多态、代码块、抽象类、接口特点的详细介绍

多态、代码块、抽象类、接口特点的详细介绍

多态

(多态形式:具体类多态,抽象类多态,接口多态)

多态中的成员访问特点

  • 成员变量

    ​ 编译看父类、运行看父类

  • 成员方法

    ​ 编译看父类,运行看子类

父类引用指向子类对象

代码块

静态属性是属于类的,只要类加载到内存了,就可以使用类名来访问。
非静态属性是属于对象的,只有创建出对象了,使用对象才可以访问。

静态代码块:

  • 由static{} 修饰
  • 位置:在类里面、方法外面
  • 功能:给静态变量初始化
  • 运行:类加载的时候调用,系统调用,只执行一次

非静态代码块

  • 直接由{} 修饰
  • 位置:在类里面、方法外面
  • 功能:创建对象时,给非静态变量赋值
  • new 操作时被调用

抽象类

对类抽象,包括属性、行为。

—抽象类特点

  • 抽象类和抽象方法必须使用abstract关键字修饰

  • 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类

  • 抽象类不能实例化,可以参照多态的方式,通过子类对象实例化,这叫抽象类多态。

  • 抽象类的子类

    –要么重写抽象类中的所有抽象方法

    –要么是抽象类

–抽象类成员特点

  • 成员变量(常量、变量)
  • 构造方法(有参、无参构造)
  • 成员方法(抽象/普通方法)

接口

对行为抽象,主要是行为

–接口特点

  • 用关键字interface修饰

  • 类实现用implements

  • 接口不能实例化,可以通过实现类对象实例化,这叫接口多态

  • 接口子类

    –要么重写接口中的所有抽象方法

    –要么子类也是抽象类

–成员特点

  • 成员变量:只能是常量 默认修饰符:public static final
  • 构造方法:没有,接口主要是扩展功能,没有具体实现
  • 成员方法:只能抽象方法,默认修饰符:public abstract
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值