1.package包

导包第二点需要注意

a包和b包都存有Student类,c包存有测试类,我们在c中创建Student对象,系统会询问你要哪个包的Student类,并自动帮你导包



.

在导完a包的学生类后,想要再次导入b包的学生类就不能再像之前那样导了

全类名导包

通过带包名将b包重复的学生类导入

2.抽象类介绍

抽象类就是特殊的父类,内部允许编写抽象方法

什么是抽象方法?

以猫吃鱼,狗吃肉的方式进行举例讲解

我们写了一个猫类和一个狗类,两者都有吃饭的共性的成员方法,那么我们就可以抽取出这个吃饭的方法,设置在动物的父类里

但在动物的父类里面,我们发现吃饭这个方法里面的逻辑不知道该写什么了,猫吃鱼,狗吃肉,那我们究竟是写鱼呢还是写肉呢?很简单,既然写不出,我们就不写了,设计为抽象方法

抽象方法:当抽取出子类中共性的方法于父类中,父类无法描述清楚该方法的逻辑,并且这个方法在子类中必须存在(猫必须吃鱼,狗必须吃肉)时,我们就可以将该方法设计成抽象方法

3.抽象类和抽象方法的语法

在类和方法上加入abstract关键字

eat()方法已经变为抽象方法,但是抽象方法必须存在于抽象类中,所以还需要在动物类上加入abstract



.

4.子类继承抽象类,就必须将抽象类中的抽象方法描述清楚

当我们将动物类写为抽象类后,猫类和狗类继承动物类,会发现子类报错了

因为,动物吃什么,在父类中说不清楚,但是在子类中就很明确了,猫吃鱼,所以必须将抽象方法重写

抽象方法重写快捷方式:alt+回车



5.总结



.

包和抽象类介绍--java进阶day02的更多相关文章

  1. Java进阶(三十六)深入理解Java的接口和抽象类

    Java进阶(三十六)深入理解Java的接口和抽象类 前言 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太 ...

  2. java基础—抽象类介绍

    一.抽象类介绍

  3. Java进阶03 IO基础

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/11/3000905.html 作者:Vamei 出处:http://www.cnblogs.com ...

  4. Java进阶01 String类

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html 作者:Vamei 出处:http://www.cnblogs.com ...

  5. Java进阶之网络编程

    网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在 学习网络编程以前,很多初学者可能觉得网络编 ...

  6. Java进阶(四十)Java类、变量、方法修饰符讲解

    Java进阶(四十)Java类.变量.方法修饰符讲解 Java类修饰符 abstract: 将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. final: 将一个类生命为最终(即非继承类) ...

  7. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  8. Java进阶之路

    Java进阶之路——从初级程序员到架构师,从小工到专家. 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序 ...

  9. java进阶视频分享

    更多资源和教程请关注公众号:非科班的科班. 如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力 课程目录介绍 01.开班仪式02.并发编程专题之多线程基础03.并发编程专题之Java内存模 ...

  10. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

随机推荐

  1. linux获取当前用户名

    linux环境下获取当前登录用户名 方法1:  whoami 命令 1 $whoami 2 输出:username 3 $sudo whoami 4 输出:root 注意:通过不同用户权限执行获取的用 ...

  2. 【Git】fatal: refusing to merge unrelated histories

    git pull origin master --allow-unrelated-histories

  3. 一个适用于 .NET 的开源整洁架构项目模板

    前言 项目架构模式在软件开发中扮演着至关重要的角色,它们为开发者提供了一套组织和管理代码的指导原则,以提高软件的可维护性.可扩展性.可重用性和可测试性.今天大姚给大家分享一个适用于 .NET 的开源整 ...

  4. Netty-快速入门

    ---------------------------------------------------- netty是什么? Netty is an asynchronous event-driven ...

  5. weixueyuan-Nginx核心配置指令2

    https://www.weixueyuan.net/nginx/config/ Nginx配置文件详解 Nginx 默认编译安装后,配置文件都会保存在 /usr/local/nginx/conf 目 ...

  6. springboot环境下的rokectMQ多数据源实现

    业务原因,需要在一个项目中与多方MQ进行业务通信: 步骤一,复制一份RocketMQProperties配置文件,避免与原来的冲突 package com.heit.road.web.config; ...

  7. Kotlin:【泛型】

  8. Oracle 遍历游标的四种方式汇总(for、fetch、while、BULK COLLECT)

    本文原创:https://www.cnblogs.com/Marydon20170307/p/12869692.html 感谢博主分享 注意:原文中方式四FORALL处有语法错误,应该使用FOR. 1 ...

  9. TCP 和 UDP 可以使用同一个端口吗?

    文档地址:https://mp.weixin.qq.com/s/3fMZN_LidCi5fiD16nNWWA

  10. C# 如何解决文件写权限不可访问

    原文链接 实际业务中,我们可能会遇到我们的安装包将程序安装在C盘Program Files目录下后,有些文件要修改或者新增会导致拒绝访问的异常.但是我们又不想把数据放临时文件夹AppData中,那么如 ...