Java中的抽象

在Java程序设计中,利用abstract关键字来进行抽象,

抽象的目的:

1.把对象的共性抽取出来,使得代码编写简洁,容易维护。
2.定义一系列规范(方法),继承抽象类的实体类必须满足这些规范(实现抽象方法),这是复杂系统的基础。
3.好的抽象应该就是现实世界的反映,把共性封装成抽象类,但又不存在于现实世界所以不可能实例化。
抽象类的特点:抽象类不能直接实例化!(不能创建对象)        

关于抽象类:

1)如果一个类中有抽象方法,那么这个类是一定是一个抽象类
2)抽象类中不一定都是抽象方法

抽象类的子类

1)如果子类是抽象类,没有意义,因为都不能实例化,对象如何创建
2)子类具体类,那么子类必须实现父类中的抽象功能.

抽象类的成员特点:

成员变量:
 可以是变量,也是一个常量
 构造方法:可以有无参,可以有有参,作用:给对象进行初始化的.
 成员方法:可以有抽象方法,还可以有非抽象方法...
abstract和哪些关键字是冲突的,不能共有!
 
     abstract 和 private
      abstract 和 final
     abstract 和 static

程序示例:

public abstract class Animal {          //抽象类
    public abstract void cry();         //抽象方法
}
public class Cat extends Animal{
    public void cry() {
        System.out.println("猫叫:喵喵...");    //方法重写
    }
}
public class Dog extends Animal{
    public void cry() {
        System.out.println("狗叫:汪汪...");     //方法重写
    }
}
public class Test {
    public static void main(String[] args) {
        Animal a1 = new Cat();                  //向上转型
        Animal a2 = new Dog();       
        a1.cry();
        a2.cry();
    }
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值