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

Java 抽象类和抽象方法笔记

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

Java 抽象类和抽象方法笔记

抽象方法: 用abstract来修饰的方法称为抽象方法

说明:

1 抽象方法只有声明,没有实现。

abstract return Type abstractMethod ([paramlist]);

2 抽象方法必须被重写。

3 抽象类中不一定包含抽象方法,但定义了抽象方法的类必须是抽象类。

示例:

将Animal 类定义为抽象类,将say()和run()方法定义为抽象方法。

说明

1 抽象方法不能有方法体。如果一个类中有抽象方法,则这个类必须为抽象类。

2 抽象类可以有抽象方法,也可以有普通的成员方法和成员变量。

3 通过抽象方法,可以定义一套完整的函数功能,再派生出若干子类来实现。不同的子类可以有不同的形式实现这些功能。

如图:

abstract class Animal{
      String type;
      String sex;
      int age;
      public Animal(String type,String sex,int age){
         this.type=type;
         this.sex=sex;
         this.age=age;
      }
      public Animal(){}
         public abstract void say();
             public abstract void run();
             public String toString(){
                return "该动物为"+type+"类,今年"+age+"岁,"+sex;
             }
      }

抽象类:用abstract关键字来修饰的类称为抽象类。

说明:

1 抽象类中可以包含抽象方法,为所有的子类定义一个统一的接口。

2 抽象类不能被直接实例化为一个对象。

3 抽象类必须被继承,具体的抽象方法必须被重写。

4 抽象类的子类可以重写父类中全部的抽象方法,也可以部分重写父类中的抽象方法。

如果只是部分重写,则该子类还为抽象,还是要被继承。

示例:

定义一个父类Addition将其中的add()方法定义为抽象方法。

abstract class Addition {
    public abstract void add();
}

在子类NumberAddition中重写父类的add()方法,将两个整数相加;

public class NumberAddition extends Addition {
    int a;
    int b;
    public NumberAddition(int a,int b){
        this.a=a;
        this.b=b;
    }
    public void add(){
        System.out.println("和为:"+(a+b));
    }
}

在子类TextConcatenation中重写父类的add()方法,用来连接两个String字符串。

public class TextConcatenation extends Addition {
    String a;
    String b;
    public TextConcatenation(String a,String b){
        this.a=a;
        this.b=b;
    }

    @Override
    public void add() {
        System.out.println("连接后的字符串:"+(a+b));
    }
}

创建主类测试两个子类的add()方法。

public class Test {
    public static void main(String[] args) {
        TextConcatenation t=new TextConcatenation("he","llo");
        t.add();
        NumberAddition n=new NumberAddition(3,5);
        n.add();
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709750.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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