首页 > 编程语言 >Java--抽象

Java--抽象

时间:2023-05-05 20:12:07浏览次数:39  
标签:Java -- abstract class 抽象 抽象类 方法 public

Java--抽象

抽象的概念

如果父类当中的方法不确定如何进行{}方法体的实现,那么这就应该是一个抽象方法

image-20230505164924169

抽象方法和抽象类的格式

抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束.

抽象类:抽象方法所在的类,必须是抽象类才行,在class之前写上abstract即可.

image-20230505174625370

代码示例

public abstract class Demo {
    public abstract void method1();//这是一个抽象方法,抽象方法所在的类必须为抽象类

    public void method2() {//普通成员方法
        System.out.println("我是一个普通的成员方法");
    }

}

抽象方法和抽象方法的使用

  1. 不能直接创建new抽象对象

  2. 必须用一个子类来继承抽象父类

  3. 子类必须覆盖重写抽象方法的abstract关键字,然后补上方法体的大括号

  4. 创建子类对象进行使用

    image-20230505195027517

代码示例

抽象类

public abstract class Animal {
    public abstract void eat();//创建抽象类

}

子类

public class Cat extends Animal {
    @Override
    public void eat() {
        System.out.println("猫喜欢吃鱼");
    }
}

Main方法

public class Main {
    public static void main(String[] args) {
        Cat one = new Cat();
        one.eat();

//        Animal two = new Animal();抽象类不能直接创建对象
    }
}

标签:Java,--,abstract,class,抽象,抽象类,方法,public
From: https://www.cnblogs.com/harper886/p/17375246.html

相关文章

  • linux -- 基础(二)
    1网络命令1.1查看本机的ip地址ipaddr--查看本机的IP地址inet192.168.133.33/1.2服务systemctlstart|stop|restart|status服务名systemctlstatusnetwork--查看网络服务状态systemctlstopnetworksystemctlstartnetworksystemctlrestart......
  • 5.5
    #include"time_user.h"  time_user::time_user(void){}  time_user::~time_user(void){} voidtime_user::timeset(){   cin>>h>>m>>s;} voidtime_user::timedis(){   cout<<h<<":"<<m<&l......
  • 小D-新版接口自动化教程- http 请求 Requests 实战
     #-*-coding:UTF-8-*-importrequestsresponse=requests.get("https://www.baidu.com")print(response.text)......
  • String、StringBuilder、StringBuffer
    String真正不可变有下面几点原因:保存字符串的数组被final修饰且为私有的,并且String类没有提供/暴露修改这个字符串的方法。String类被final修饰导致其不能被继承,进而避免了子类破坏String不可变。String:不可变,线程安全StringBuilder:可变,单线程,线程不安全StringBuf......
  • java基于springboot+vue的垃圾分类管理系统,附源码+文档+PPT+数据库
    1、项目介绍垃圾分类网站的主要使用者分为管理员和用户、垃圾分类管理员,实现功能包括管理员:首页、个人中心、用户管理、垃圾分类管理员管理、垃圾分类管理、垃圾类型管理、垃圾图谱管理、系统管理,垃圾分类管理员;首页、个人中心、用户管理、垃圾分类管理员管理、垃圾分类管理、垃......
  • 22基于java的电影院售票管理系统
    项目背景随着互联网和电子商务的快速发展,开发一个电影院订票系统来帮助电影院对电影信息,售票信息进行统一化的信息管理;遇到的问题在设计的过程中,需要解决以下的几个问题:电影院会有多个播放厅,从而在同一时间播放不同的电影来满足客户需求每个厅的大小可能不同,即容纳的人数不......
  • 2023年电子科技大学ACM-ICPC暑假前集训-第一次队内赛
    Preface队内赛被吊打了呜呜呜,F死命贪心贪到天昏地暗,直接后面两题一眼没看其实后面对拍大概知道贪心是有问题的了,但以为可以用分类讨论来避免掉所以没去写DP(他其实什么都知道,只是不想面对罢了)感觉DP还是一如既往地是我的弱项的说,还得好好练习的说G和H其实比较常规,补题的时候一......
  • pta_【CPP0026】以点类Point及平面图形类Plane为基础设计三角形类Triangle
    #include<iostream>#include<cmath>usingnamespacestd;//点类PointclassPoint{private:doublex;doubley;public:Point(doublexv=0,doubleyv=0);/*构造函数*/Point(constPoint&p);/*拷贝构造*/~Point();/*......
  • 「学习笔记」AC 自动机
    「学习笔记」AC自动机点击查看目录目录「学习笔记」AC自动机算法问题思路代码例题KeywordsSearch玄武密码单词病毒最短母串文本生成器背单词密码禁忌前置:「学习笔记」字符串基础:Hash,KMP与Trie。好像对例题的讲解越来越抽象了?算法问题求\(n\)个单词在一个长度为\(......
  • string为接口的注意事项
    string为接口的注意事项问题描述​在一个应用程序中用到了另外一个库的dll,向dll的接口传递std::string参数时报错。由于这方面的问题比较多,所以我进行了深入研究。前置知识在vs项目右键->属性->C/C++->代码生成->运行库,有四个选项,/MD、/MDd、/MT、/MTd含有D的选项......