Java——抽象

不止Java

共 1645字,需浏览 4分钟

 · 2021-07-03

喜欢就关注我吧,订阅更多最新消息





目录

    定义
    抽象类的特点
    抽象类的成员特点

定义

没有方法体的方法定义为抽象方法。
类中如果有抽象方法,该类必须定义为抽象类。

抽象类的特点

  1. 抽象类和抽象方法必须使用abstract关键字修饰
    public abstract class 类名{}
    public abstract void eat{}

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

  3. 抽象类不能实例化
    实例化需参照多态的方式,通过子类对象实例化。

  4. 抽象类的子类
    要么重写抽象类中所有的抽象方法
    要么是抽象类


/*
动物类(父类,抽象类)
*/

public abstract class Animal {

public abstract void eat();

public void sleep(){
System.out.println("睡觉");
}

}
/*
猫类(子类)
*/

public class Cat extends Animal{

@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
/*
小狗类(子类,抽象类)
*/

public abstract class Dog extends Animal {

}
/*
测试类
*/

public class AnimalDemo {
public static void main(String[] args) {
//Animal a = new Animal();

Animal a = new Cat();
a.eat();
a.sleep();

}
}


抽象类的成员特点

  1. 成员变量(可以是变量或常量)

  2. 构造方法(不能实例化,用于子类访问父类数据的初始化)

  3. 成员方法
    可以有抽象方法:限定子类必须完成某些动作;
    也可以有非抽象方法:提高代码的复用性。


/*
动物类(父类,抽象类)
*/

public abstract class Animal {

private int age = 2;
private final String city = "HongKong";

public Animal() {
}

public void show() {
age = 3;
System.out.println(age);
//city = "HongKong";
System.out.println(city);
}

public abstract void eat();

}
/*
猫类(子类)
*/

public class Cat extends Animal {

@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
/*
测试类
*/

public class AnimalDemo {
public static void main(String[] args) {

Animal a = new Cat();
a.eat();
a.show();
}
}





往期推荐
01

实现一个小型的学生信息管理系统

02

Java——继承

03

Java——多态







在看点一下
浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报