java 抽象类

什么是抽象类?

方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。

抽象类的特点?

1、抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。

2、抽象类不可以直接创建对象,原因:调用抽象方法没有意义。

3、只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。

之所以继承抽象类,更多的是在思想,是面对共性类型操作会更简单。

抽象类方法的定义?

当定义了抽象函数的类也必须被abstract关键字修饰,被abstract关键字修饰的类是抽象类。

抽象类定义格式: abstract class 类名

抽象方法格式: public abstract 返回值类型 方法名(参数)

1 package com.oracle.demo02;
2 
3 public abstract class Emp {   //定义Emp是个抽象类员工类
4     public abstract void work();    //员工都有工作,但是具体干什么不好说明白,定义工作为抽象方法让子类去定义具体做什么
5 }
1 package com.oracle.demo02;
2 
3 public   class yanfabu extends Emp {    //创建了一个研发部当做员工类的子类,但是研发部里也有好多人具体干什么说不清,就不给描述,空方法再细分
4     public void work(){
5     }
6 }
 1 package com.oracle.demo02;
 2 
 3 public  class anzhuo extends yanfabu {   //安卓继承了研发部类,具体描述工作做什么。
 4     private int id;
 5     private String name;
 6     public void setId(int id){
 7         this.id = id;
 8     }
 9     public int getId(){
10         return id;
11     }
12     public void setName(String name){
13         this.name = name;
14     }
15     public String getName(){
16         return name;
17     }
18     public void work(){
19         System.out.print("编号"+id);
20         System.out.print("\t姓名"+name);
21         System.out.println("\t做安卓淘宝手机客户端");
22     }
23 }

抽象类的小细节

1、抽象类一定是个父类?

是的,因为不断抽取而来的。

2、抽象类中是否可以不定义抽象方法。

是可以的,那这个抽象类的存在到底有什么意义呢?不让该类创建对象,方法可以直接让子类去使用

猜你喜欢

转载自www.cnblogs.com/wangrongchen/p/9055559.html