抽象类那点事情

抽象类

 
在这里插入图片描述

 

  • 抽象类其实就是普通的类,只不过就多增加了一个抽象方法的定义
  • 当在使用这个抽象类(也就是被子类所继承)的时候就必须将这个抽象类里面的抽象方法全部重写
  • 抽象类是无法直接进行对象实例化,所以必须有子类去继承抽象类,所以抽象类/抽象方法绝对不能定义为final
  • 可以在抽象类中提供构造方法,当子类继承后默认调用父类的无参构造,若没有无参构造,子类就必须用super形式调用指定参数的构造方法,详细见调用单参的构造方法
  • 抽象类中可以没有抽象方法,但是就算没有抽象方法也不能直接new出实例化抽象类对象
  • 抽象类中可以有static方法,这个方法不受抽象类实例化对象的限制,详细见static方法抽象类
  • 抽象类中可以定义成员属性和普通方法
     

 
具体代码:

 

1)定义抽象类 abstract class

可以定义多个抽象方法,当子类继承时候就必须重写完这些抽象方法

抽象方法虽然是方法,但是与普通方法不同的是没有方法体,也就是没有普通方法里面的大括号

抽象方法也是用(必须用)abstract关键字去定义的

 
 

abstract class Message{
   
    private String type;
    public abstract String getConnectInfo();

    public String getType() {
   
        return this.type;
    }

    public void setType(String type) {
   
        this.type = type;
    }
}

 
 
 

2)使用抽象类

 
抽象类的对象实例化可以利用对象多态性通过子类向上转型来获取

package com.abstact;

public class AbstactTest {
   
    public static void main(String[] arg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值