抽象类的定义与使用

1、在继承类中,子类可以自由选择是否覆写父类方法,父类无法对子类做出强制性要求(强制覆写)

2、抽象类主要作用在于对子类中覆写方法进行约定,在抽象类中定义抽象方法(使用abstract关键字电仪并且没有提供方法体的方法)来实现。而且抽象方法所在的类必须为抽象类。

abstract class Person {    //抽象类

        public abstract String toString() ;    //抽象方法

}

抽象类必须被继承(子类不能仍为抽象类);抽象类中的抽象方法必须全部被覆写;抽象类的对象实例化可以利用对象多态性通过子类向上转型完成(不能直接实例化抽象类对象)

3、抽象类是一个重要的面向对象设计的结构

抽象类绝对不能用final关键字进行定义;

抽象类中的构造方法可以按照原则在子类中调用,super();

抽象类中可以没有抽象方法;

抽象类中可以提供有static方法,并且该方法不受到抽象类对象的局限。

【重要】

package com.demo;

abstract class Message { // 抽象类
    public abstract String getInfo() ; //抽象方法
    public static Message getInstance() {
        return new DatabaseMessage() ;
    }
}
class DatabaseMessage extends Message {
    public String getInfo() {  // 覆写抽象父类中的抽象方法
        return "aaa";
    }
}
public class ChouXiang {

    public static void main(String[] args) {
        Message msg = Message.getInstance() ;  // 调用抽象父类中的静态方法,实现了向上转型
        System.out.print(msg.getInfo());
        
    }

}

4、对对象行为抽象处理,是为了对对象的行为进行规范地统一处理,例如,所有生物的吃的行为(eat),睡的行为(sleep),工作的行为(work)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值