首页 > 编程语言 >JAVA中的包,抽象类

JAVA中的包,抽象类

时间:2024-12-18 23:09:57浏览次数:9  
标签:JAVA package abstract public Animal model 抽象类

什么是包
java中的package就是一个类库单元,包内含有一组类,它们在单一的名称空间之下被组织在了一起,这个名称空间就是包名
src
dao------>数据库相关的
model------>>实体内容
service----->业务
util-------->工具

包的作用
1.把功能相似或相关的类或接口组织在一个包中,方便类的查找和使用
2.如同文件夹一样,包也采树形目录的存储方式,同一个包中不能有两个同名的类,不同的包可以存放同名的类
3.包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类

包的声明
package pkg1[pkg2[pkg3]]

包的引用
包的使用其实就是在一个java类中使用其他包中的java类
import pkg1[.pkg2[.pkg3]].<classname>|*;
pkg1,pkg2,pkg3为文件系统中的文件夹名称,并存在上下级目录关系
classname代表所要引入的指定的类
*代表引入此包下所有的类


抽象类
在面向对象的领域一切都是对象,同时所有的对象都是通过类描述的,但是并不是所有的类都只是来描述对象的,如果一个类没有足够的信息
来描述一个具体的对象,而需要其他具体的类在支撑补充它,那么这样的类我们称它为抽象类
比如new Animal(); 动物对象但这个Animal什么样并不清楚,没有一个具体的动物概念,所以它就是一个抽象类

定义
使用abstract 来定义一个抽象类;同样也可以定义抽象方法(没有方法体)

如何使用
1.抽象类必须通过其子类才能实例化成对象
2.子类继承父类后重写抽象方法(具体)或 如果不能重写的话定义子类也为抽象类

抽象类的注意事项
1.含有抽象方法的类是抽象类
2.抽象类不一定有抽象方法
3.抽象类不能直接创建对象,必须通过子类实现,所以abstract不能和final一起修饰类
(因为final不可以被继承,abstract必须被继承)
4.abstract不能与static,final并列修饰同一个方法

  Animal类
package model;

//抽象类
public abstract class Animal {
    private String name;

    //抽象方法,没有方法体
    public abstract void cry();
}

Dog与Cat类

package model;

public class Dog extends Animal {

    //子类重写父类的方法
    @Override
    public void cry() {
        System.out.println("dog 汪汪汪.........");
    }
}
package model;

public class Cat extends Animal {

    @Override
    public void cry() {
        System.out.println("cat 喵喵喵........");
    }
}

Test类(测试代码)

package test;
import model.Animal;
import model.Cat;
import model.Dog;
public class Test02 {
    public static void main(String[] args) {
        //通过子类实例化对象
        //多态
        Animal dog = new Dog();
        Animal cat = new Cat();
        dog.cry();
        cat.cry();
    }
}

 

标签:JAVA,package,abstract,public,Animal,model,抽象类
From: https://www.cnblogs.com/mhmh007/p/18616029

相关文章

  • 关于java中方法的那些事
    文章目录前言一、什么是方法?方法的完整格式是啥?二、方法如何使用?三、为什么要用方法?四、如果方法不需要接收数据处理,不需要返回数据,应该怎么办?要注意什么?五、方法使用时的常见问题六、定义方法重点关注的是哪几点?七、什么是方法重载?八、方法重载需要注意什么?九、方法重载......
  • JAVA领域驱动设计DDD在B端营销系统的实践
     1背景通过营销活动实现客户/用户拉新、留存和促活是业界普遍采用的方法。为实现商户增长和留存,美团核心本地商业/商业增值技术部也构建了相应的营销系统来支撑商户的线上营销运营。在系统建设过程中,面临着业务体量大、行业跨度大、场景多样、客户结构复杂,需求多变等挑战。......
  • 好用的java工具类整理
    一、封装树形菜单数据表结构必须有parentId,以便于实现无限级分类,如下:实体类@Schema(description="系统菜单实体类")@DatapublicclassSysMenuextendsBaseEntity{ @Schema(description="父节点id") privateLongparentId; @Schema(description="节点标题"......
  • javaweb知识点总结
    HTML1.HTML是一种超文本标记语言,可存储文字,图片,视频等等2.HTML依靠浏览器解析运行3.HTML有自己的预定义标签4.HTML由三部分组成,遵循W3C标准结构:HTML表现:CSS行为:JavaScript基础知识:1.颜色标签文字2.HTML文档不区分大小写3.HTMl语法松散#有时语法错误,功能仍正常基础......
  • 基于java的SpringBoot/SSM+Vue+uniapp的大学校园防疫与服务系统的详细设计和实现(源码
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • JAVA无人共享24小时自助洗车扫码洗车系统源码支持小程序
    JAVA无人共享24小时自助洗车扫码洗车系统源码支持小程序在当今快节奏的生活中,自助洗车服务以其高效、便捷的特点逐渐受到广大车主的青睐。为满足这一市场需求,我们精心打造了一款JAVA无人共享24小时自助洗车扫码洗车系统,其源码全面支持小程序接入,不仅极大地提升了用户体验,还为......
  • JAVA数字人创作文案视频链接提取数字人源码小程序+公众号+APP+H5
    JAVA数字人创作文案提取与生成系统:全能型内容创作与运营解决方案在当今数字化内容井喷的时代,如何高效、创新地生产并传播内容,成为了众多内容创作者、商户乃至企业面临的重要课题。我们的JAVA数字人创作文案提取与生成系统,正是基于这一市场需求,集成了文案提取、文案生成、视频......
  • JAVA无人共享24小时自助洗车扫码洗车系统源码支持小程序
    JAVA无人共享24小时自助洗车扫码洗车系统源码支持小程序在当今快节奏的生活中,自助洗车服务以其高效、便捷的特点逐渐受到广大车主的青睐。为满足这一市场需求,我们精心打造了一款JAVA无人共享24小时自助洗车扫码洗车系统,其源码全面支持小程序接入,不仅极大地提升了用户体验,还为......
  • 【老白学 Java】集合应用 - 卡拉 OK(一)
    集合应用-卡拉OK(一)文章来源:《HeadFirstJava》修炼感悟。最近老白准备研究一下Java集合和泛型的相关知识。为了增加学习乐趣,老白通过一些小案例来了解集合类的基本用法。本篇文章打算编写一个简单的曲目处理程序,其中使用到了类库中的排序方法。一、显示点唱曲目......
  • Java框架 —— SpringMVC
    MVC分层MVC:ModelViewController(模型-视图-控制器)模型(Model):处理数据逻辑的部分;在web应用中,他通常包含与数据库交互的代码,负责数据的存储、检索和更新视图(View):将数据渲染为用户界面,视图只展示页面,不包含业务逻辑控制器(Controller):模型和视图之间的协调者,它接收用户的......