初学抽象类——java

在Java中,抽象类是一种特殊的类,它用于表示无法实例化的类,即不能直接创建抽象类的对象。抽象类的存在是为了作为其他类的父类,它可以包含抽象方法和非抽象方法。

抽象类有以下特点:
  1. 无法实例化:抽象类无法直接实例化为对象,即不能使用 new 关键字来创建抽象类的实例。

  2. 包含抽象方法:抽象类可以包含抽象方法,这些方法只有声明而没有具体的实现。抽象方法使用 abstract 关键字声明。

  3. 可包含非抽象方法:抽象类除了可以包含抽象方法外,还可以包含具体的方法(非抽象方法),这些方法有具体的实现代码。

  4. 可以有构造方法:抽象类可以有构造方法,但是不能被用来实例化对象,而是被子类调用来初始化子类对象。

  5. 必须被子类继承或实现:如果一个类继承了抽象类,则该类必须实现抽象类中的所有抽象方法,或者该类也可以是一个抽象类。

抽象类通常用于以下情况:
  1. 定义一些方法的声明,让子类来实现具体的方法,从而达到统一接口的目的。
  2. 包含一些具体的方法,供子类直接调用或重写。
  3. 作为其他类的基类,提供一些公共的功能或属性。

下面是一个关于抽象类的简单示例:

package com.jsu.jie;

public abstract class Animal {
private String name;

    public Animal() {
    }

    public Animal(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void eat(){
        System.out.println(name+"吃东西");
    }
    public void drink(){
        System.out.println(name+"喝水");
    }
    public abstract void zu();
    //定义抽象类
}

package com.jsu.jie;
public class Dog extends Animal {

    public Dog() {
    }

    public Dog(String name) {
        super(name);

    }
    @Override
    public void zu() {
        System.out.println(getName()+"在撒娇");
    }
}
package com.jsu.jie;

public class Test {
    public static void main(String[] args) {
        Animal dog=new Dog();
        dog.setName("哈士奇");
        dog.zu();
        dog.eat();
        dog.drink();
    }
}

运行结果为:

哈士奇在撒娇
哈士奇吃东西
哈士奇喝水

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值