#java学习之路——基础阶段(第十篇)

zyz233      2022-05-03     477

关键词:

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。

前言:此随笔主要是Java基础中的基础,相信大家对这方面肯定有着自己的理解和认识,具体详解可以参照万能的baidu,有的我就一笔带过,希望在我的学习之路上能够有大牛进行指导,也有更多的小伙伴共勉。

 

这里说一句题外话,互联网寒冬,Java处于负增长饱和状态,python语言登顶等等消息都让我犹豫要不要换语言,要不要换方向,就像我之前面试的时候面试官问我一个问题,如果是因为互联网行业薪资高才向这方面发展的,最好还是 做别的事情,也一样能拿到差不多的薪资,所以我对Java现在不仅仅是兴趣爱好,更多的是热爱它,也希望热爱它沉迷它之后也会给我带来好的回报把。

1.接口

在学习接口之前我一直有个疑惑,直到我了解了皮毛之后,才明白其中的道理,之前一直混淆于接口 继承 多态这几个方面,现在所认知的就是为了程序员提供方便便捷的环境,让程序更加的简单简单再简单。

接口就是定义了一个规范,内部主要是封装了方法,静态方法,默认方法,抽象方法,私有方法(JDK9)

这里的关键字interface这是接口的标识字符 implement 这是实现接口类的标识字符

这里的实现类可以实现多个接口,但是如果有多个抽象方法必须全部重写,对于静态方法则是通过接口名称.方法来调用,默认方法则可以通过实现类去调用

抽象方法的使用,需要在实现类全部重写抽象方法从而来达到使用的目的;

默认方法的使用,可以直接调用,也可以实现类重写来调用;

静态方法的使用,通过接口名称.方法名来调用;

这里的接口有一个多实现的就是一个实现类可以实现多个接口,格式:class [extends fu] implments 接口1,接口2...

如果有同名的默认方法必须重写一次默认方法,

关于子父类和若干个接口的优先级问题,是就近原则,从父类开始看如果父类没有再看接口中是否有方法。

注意:子接口重写父接口时,默认方法的default可以保留 但是如果是子类重写父接口的默认方法时,不可以保留default。

 

面试中常见的问题:

接口的成员特点:接口中,无法定义成员变量,但是可以定义常量,其值不可以改变一般用public static final 来进行修饰;

        接口中没有构造方法,不能创建对象;

        接口中,没有静态代码块。

2.多态

多态是Java中的三大特性之一(封装,继承,多态),指的是一种行为的多种表现形式;

当使用多态调用方法时,会先看父类是否有该方法,如果有,则执行的是子类重写后的方法,如果没有就直接报错;

多态这里会有一个向上转型和向下转型的一个知识点,这里有一个关键词是instanceof

向上转型是多态的默认,但是向下转型,如果子类的引用指向父类,父类不存在则会报错,所以向下转型是强制的,格式和基本数据类型强制转换大同小异

格式:子类 变量名 = (子类类型) 父类变量名;

为什么要向下转型?就是为了调用子类特有的方法,才必须要向下转型所以会有关键词instanceof来返回boolean值判断是否存在。

#java学习之路——基础阶段(第十一篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段二(第十三篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段二(第十二篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

vue学习之路第十篇:简单计算器的实现(代码片段)

前面九篇讲解了vue的一些基础知识,正所谓:学以致用,今天我们将用前九篇的基础知识,来模拟实现计算器的简单功能,项目价值不高,纯粹是为了加深掌握所学知识。学前准备:需要掌握JavaScript的eval()函数,其主要是用来... 查看详情

#java学习之路——基础阶段(第一篇)

  我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主... 查看详情

#java学习之路——基础阶段(第七篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段二(第二篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段二(第五篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段二(第四篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

#java学习之路——基础阶段二(第九篇)(代码片段)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。前言:此随笔主要是J... 查看详情

java基础第十篇之异常

1.1接口概念 类:具有相同属性和功能的事物集合 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口... 查看详情

javaweb自学之路

一、Java学习路线 第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架;(基础) 第二阶段:java界面编程,包括AWT,事件机制,SWING,(不常用)这个部分也可以跳过,用的时候再看都能来及; 第三阶... 查看详情

flask第十篇after_requestbefore_request(代码片段)

Flask我们已经学习很多基础知识了,现在有一个问题我们现在有一个Flask程序其中有3个路由和视图函数,如下:fromflaskimportFlaskapp=Flask(__name__)#type:Flask@app.route("/login")deflogin():return"Login"@app.route("/index")defindex():return"Index"@app.r 查看详情

java入门学习之路

java是面向对象的编程,个人觉得记忆比较重要。第一阶段java基础部分unix开发环境熟练掌握开发中常用的操作系统linux的安装及使用:掌握文件系统、网络、用户管理方法:能熟练使用vi和vim进行文件编辑;能在unix环境下进行文... 查看详情

第十篇:装饰器

...计时逻辑来检测性能3.3给函数加入事务的能力 装饰器基础:1、装饰是为函数和类指定管理代码的一种方式。2、装饰器本身的形式是处理其他的可调用对象的可调用的对象(如函数) Python装饰器以两种相关的形式呈现1、... 查看详情

第十篇编写一个简单的注册页面

一个简单的注册页面 今天的课程学习,我们来一波综合,将前面学到的东西,做一次小练习,我们自定义一个注册页面,不需要太华丽,能表达清楚意思就可以了。 <!DOCTYPEhtml><html><headlang="en"><!--支持中文... 查看详情

我的学习之路_第十四章_反射

类的反射【获取class文件对象的三种方式】:●使用Object类中的方法getClass() Class<?>getClass()返回此Object的运行时类.●使用类名.class属性 每一个数据类型,基本数据类型和引用数据类型,Java都会为其设置一个class属性 例如:Classclas... 查看详情

混合编程jni第十篇之jna初见

jna是什么JNA=JavaNativeAccess是基于JNI开发的一个框架。是为了降低JNI开发的复杂性的一个Java框架。可以不用写c/c++代码调用动态库。JNA开源项目的信息SUN公司主导开发的开源项目github地址:https://github.com/java-native-access/jna文档地址:h... 查看详情