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. 基于.NET8.0实现RabbbitMQ的Publish/Subscribe发布订阅以及死信队列

    [前言] RabbitMQ提供了五种消息模型,分别是简单模型.工作队列模型.发布/订阅模型.路由模型和主题模型.‌‌ 简单模型(Simple)‌:在这种模式下,一个生产者将消息发送到一个队列,只有一个 ...

  2. Note -「M. Analysis 24 Aut. Prev.」“有歌的地方,自有向往”

    \[\textit{Litar!} \newcommand{\opn}[1]{\operatorname{#1}} \newcommand{\card}[0]{\opn{card}} \newcomm ...

  3. Note -「M. Analysis 24 Aut. Prev.」“重聚是你我共同的回答”

    \[\textit{Litar!} \newcommand{\opn}[1]{\operatorname{#1}} \newcommand{\card}[0]{\opn{card}} \newcomm ...

  4. w3cschool-Spring Security

    https://www.w3cschool.cn/springsecurity/na1k1ihx.html Spring Security,这是一种基于 Spring AOP 和 Servlet 过滤 ...

  5. SM9-加解密

    算法过程 程序实现 ///************************************************************************ // File name: ...

  6. Kotlin:【接口】【抽象类】

  7. linux shell 脚本调试技巧

    本文分享自天翼云开发者社区<linux shell 脚本调试技巧>,作者:g****n 1.bash -x 加脚本 这是最常用的调试手段,终端会打印出,脚本执行过程中的每一个命令. a. ...

  8. 内容分发网络 CDN 概述

    本文分享自天翼云开发者社区<内容分发网络 CDN 概述>,作者:Jerry CDN(Content Delivery Network)是一种分布式网络架构,旨在提供高效.可靠地将内容传送给 ...

  9. Q: 远程ssh登录不上

    1.密码没有问题 .2.防火墙没有禁用端口.3.ssh服务已安装且开启一般是ssh配置文件问题打开ssh配置文件 vim /etc/ssh/sshd_config ################## ...

  10. SpringBoot利用@Async注解实现异步调用

    前言:异步编程是让程序并发运行的一种手段,使用异步编程可以大大提高我们程序的吞吐量,减少用户的等待时间.在Java并发编程中实现异步功能,一般是需要使用线程或者线程池.而实现一个线程,要么继承Thre ...