JAVA 抽象类与抽象方法详解
发布日期:2021-06-30 15:37:24 浏览次数:2 分类:技术文章

本文共 1229 字,大约阅读时间需要 4 分钟。

package com.day27.test;

public class Test {

    public static void main(String[] args) {
        System.out.println("抽象类与抽象方法");
        // 一旦类抽象了abstract  就不可实例化
        //Person person=new Person();
        //person.eat();
        
    }

}

//abstract 的使用

// 可以修饰类  :1.不可以实例化  2. 抽象类中一定有构造器  便于子类实例化调用  开发中 都会提供抽象类的子类 让子类进行操作

// 
//也可以修饰方法  
// 1. 包含抽象方法的类 一定是抽象类 反之 抽象类中可以存在普通方法
// 2. 抽象方法只有方法声明,没有方法体
// 3. 子类继承抽象类的父类 必须要重写父类抽象类的方法
// 4. 若子类没有重写抽象父类的方法 则此子类必须也要是抽象类

//应用场景

//对于一个类的方法 不知道方法里怎么去定义什么内容 或者只能先返回一个空值
// 只有到子类的时候 才能实现具体的方法 这时候就可以给这个类的这个方法定义为 抽象类 
// 例如 有个交通工具类 子类为 小轿车 和卡车 
// 交通工具类中定义工具类的属性 方法 例如 发动机 轮子大小 这些都可以直接在工具类中声明
// 但是有些方法在工具类中不好具体实现业务 ,例如计算燃料使用率 和 行驶距离 
// 这些 只能通过子类继承父类后在子类中实现 
// 这时候就可以在父类中把 计算燃料使用率和行驶距离的方法定义为抽象方法 具体实现在子类重写后完成
abstract class Person{
    String nameString;
    int age;
    public Person(){
        
    }
    
    public Person(String nameString,int age) {
        this.nameString=nameString;
        this.age=age;
    }
    
    public void eat() {
        System.out.println("吃饭");
    }
    
    public void walk() {
        System.out.println("走路");
    }
    
    //定义抽象方法
    public abstract void wokeing();
}

class Stu extends Person{

    public Stu(String namString,int age) {
        super(namString,age);
    }

    @Override

    public void wokeing() {
        // TODO Auto-generated method stub
        
    }
    
    //抽象方法 子类必须要重写
//    public void wokeing() {
//        System.out.println("工作去把");
//    }
}

转载地址:https://jsonll.blog.csdn.net/article/details/108249150 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java 中模板方法的设计模式及应用场景 (抽象类 抽象方法) 详解
下一篇:Java 单例模式 final关键字详解

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月25日 12时52分48秒