Java中的抽象类

A.抽象类的简单概述:

抽象类是指在普通类的结构里面增加抽象方法的组成部分。在Java中一个没有方法体的方法被定义为抽象方法,如果一个类中有抽象方法,那么这个类必须定义为抽象类。

B.抽象类的特点:

a.抽象类和抽象方法必须有"abstract"关键字修饰。

public abstract class 类名 { }

b.抽象类中不一定只有抽象方法,有抽象方法的类一定是抽象类。

c.抽象类不能实例化,抽象类应该按照多态通过子类对象进行实例化,叫做抽象类多态。

d.抽象类的子类:

1.要么是抽象类;

2.要么重写抽象类中所有的抽象方法;

e.代码案例;

package demo123;

/**
 * @author ln
 * @date 2022/1/23
 * @desription 抽象类的特点
 */
//抽象类
public abstract class Animal {
    //抽象方法
    public abstract void eat();

    //普通方法
    public  void sleep() {
        System.out.println("睡觉。。。。");
    }
}
package demo123;
/**
 * @author ln
 * @date 2022/1/23
 * @desription 抽象类的特点
 *              子类
 */
public  class Cat extends Animal {
    @Override
    public void eat() {
        System.out.println("猫要吃鱼。。。。");
    }
}
package demo123;
/**
 * @author ln
 * @date 2022/1/23
 * @desription 抽象类的特点
 *              测试类
 */

public class AnimalTest {
    public static void main(String[] args) {
        //抽象类多态完成实例化
        Animal cat = new Cat();
        cat.eat();
        cat.sleep();

    }
}

C.抽象类中的成员特点:

a.成员变量:

1.可以为变量;

2.可以为常量;

b.构造方法:

1.可以存在构造方法,但不能实例化

2.构造方法的意义在于子类访问父类数据的初始化

d.成员方法:

1.可以有成员方法,为了提高代码的复用性;

2.可以有抽象方法,目的为了限定子类必须完成父类的某些动作

e.代码案例;

package demo123;
/**
 * @author ln
 * @date 2022/1/23
 * @desription 抽象类中成员的特点
 */

public abstract class Animal02 {
    //变量
    private int age = 5;
    //常量
    public final String address = "武汉";

    //构造方法
    public Animal02 () {}

    public Animal02 (int age) {
        this.age = age;
    }

    //抽象方法
    public abstract void eat();

    //普通方法
    public void show(){
        age = 6;
        System.out.println(address);
        System.out.println(age);
    }

}
package demo123;
/**
 * @author ln
 * @date 2022/1/23
 * @desription 抽象类中成员的特点
 */
public  class Cat02 extends Animal02 {
    @Override
    public void eat() {
        System.out.println("猫要吃鱼。。。。");
    }
}
package demo123;

public class AnimalTest02 {
    public static void main(String[] args) {
        Animal02 cat = new Cat02();
        cat.eat();
        cat.show();
    }
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值