java抽象类

1.1抽象类的概念

 

所有的对象都是通过类来进行描述,但并不是所有的类都是用来描述对象的。如果一个类中并没有足够的信息来描述一个对象,那么这个类就是抽象类。

 抽象方法的概念:在此时animal类中存在方法bark(),但是没有方法内没有实际工作的内容,我们就将其设计成抽象方法,包含抽象方法的类也是抽象类。

1.2抽象类语法

在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象方法,抽象方法不用 给出具体的实现体。

public  abstract class  father {
    //抽象类father
  public father(){
      System.out.println("父类构造方法");
  }
  public abstract  void test();
  //抽象方法test()
}

注意:抽象类也是类,内部可以包含普通方法和属性,还有构造方法。

1.3抽象类特征

1.3.1抽象类不能直接实例化

public class Test {
    public static void main(String[] args) {
    father father=new father();
    }
}
//编译失败

1.3.2抽象类方法不能是private

public  abstract class  father {
    //抽象类father
  public father(){
      System.out.println("父类构造方法");
  }
  private abstract  void test();
  //抽象方法test()
}
//编译失败

 

注意:抽象方法没有加限定符时,默认权限是public

1.3.3抽象方法不能被final和static修饰,因为抽象方法要被子类重写

public  abstract class  father {
    //抽象类father
  public father(){
      System.out.println("父类构造方法");
  }
   abstract  final void test();
  abstract  static void test1();
  //抽象方法test()
}
//编译报错

1.3.4抽象类必须被继承,并且在继承类中重写父类中的抽象方法,否则这个子类也是抽象类,必须使用abstract修饰

1.3.5抽象类中不一定含有抽象方法,但是含有抽象方法的类一定是抽象类

1.3.6抽象类中可以有构造方法,在子类创造对象时初始化父类成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值