栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

4. Java抽象类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

4. Java抽象类

Java抽象类

所谓的抽象:含糊不清
对于父类的抽象方法,子类需要重写和覆盖,重写过程中就可以对抽象方法进行具体化
抽象类的具体功能体现在抽象方法上面【含有抽象方法的类是抽象类】
注意:
	*  1. 抽象类是不能进行实例化(不能建对象)
	* (Animal是个抽象类,不能通过Animal类创建个Animal())
	* 
	*  2. 抽象类必须至少要有一个子类进行继承
	* (Pig类 继承 Animal类)
	* 
    *  3. 抽象类中出现多个抽象方法,一定要对每个抽象方法进行重写。如果不写,否则子类报错,提示重写抽象方法
    * (Animal类中有吃、睡方法,要在Pig中进行重写)
    * 
    *  4. 抽象类是有构造方法的,目的是供子类创建对象时,初始化父类的成员变量
    * 
    *  5. 抽象类不一定包含抽象方法,但是包含抽象方法的类是抽象类
    (如果将抽象类的这两段代码【public abstract void eat()、public abstract void sleep()】注释,依旧是抽象类,系统不会报错)

代码演示:抽象类

// 抽象方法
package study.abstract1;
import sun.plugin.viewer.context.PluginBeansContext;

public abstract class Animal {
	int id;
	public Animal(){
	}
	public Animal(int id){
		this.id = id;
		System.out.println("Animal:"+this.id);
	}
    public abstract void eat();
    public abstract void sleep();
}
// 子类继承抽象方法
package study.abstract1;
public class Pig extends Animal {
	public Pig(){
	}
	public Pig(int id){
		super(id);
	}

    // 成员方法对父类抽象方法进行覆盖
    @Override
    public void eat() {
        System.out.println("猪猪在吃饭!!!");
    }
    @Override
    public void sleep() {
        System.out.println("猪猪在睡觉!!!");
    }
}
package study.abstract1;
public class AbstractDemo {
    public static void main(String[] args) {
        // Animal animal = new Animal();  
        // 1. 抽象类不能进行实例化(不能创建对象)
        Animal animal = new Pig(1);  // 向上造型
        animal.eat();
        animal.sleep();
        System.out.println("=============================");
        Pig pig = new Pig();
        pig.eat();
        pig.sleep();
        Pig pig = new Pig(15);
    }
}

编译效果

猪猪在吃饭!!!
猪猪在睡觉!!!
=============================
猪猪在吃饭!!!
猪猪在睡觉!!!
Animal:15
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659300.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号