美文网首页工作生活
再拾Java基础(二)

再拾Java基础(二)

作者: 代夫阿普曼 | 来源:发表于2019-07-04 19:45 被阅读0次

一、final关键字

final可以修饰类、方法和变量,被修饰的这些类、方法和变量都有 不可更改 的意思。

final修饰的类:该类不能被继承

final修饰的方法:该方法不能被重写Override

final修饰的变量:该变量不能被重新赋值

  • final修饰成员变量:声明时需要同时初始化,可以 直接赋值 或者通过 静态代码块 赋值。
  • final修饰局部变量:声明时可以不初始化,在使用前需要一次赋值,并且只能赋一次值。也可以通过构造代码块初始化。

二、接口

接口是一种引用数据类型(还有数组和类),继承它的实现类需要重写其中的所有抽象方法。

接口中只能存在以下5种内容:

  • 自定义常量:默认是static final的;

  • 抽象方法:给实现类重写,默认是abstract

  • 默认方法(java8):实现类重写抽象方法时,方法体都是一样的,那么可以使用默认方法简化

    public default void show() {
        System.out.println("hello");
    }
    
  • 静态方法(java8):作为工具方法使用,使用类名.静态方法调用

  • 私有方法(java9):只能在接口内部使用

接口之间支持多继承,但不能相互实现。

三、多态

多态发生在继承或实现的关系下,而且子类需要重写父类的方法。在格式上的体现为:父类引用指向子类。

多态产生的效果之和子类与父类之间的方法重写有关,和其他成员无关(成员变量)。

四、内部类

内部类分为成员内部类和局部内部类。

成员内部类:

定义在类中方法外。内部类可以访问外部类的所有成员。当内部类有成员变量和外部类的成员变量重名时,调用内部成员变量的格式:this.变量,调用外部类的成员变量的格式:外部类.this.变量

局部内部类:

定义在成员方法中,只能在该成员方法中进行对象的创建和使用,局部内部类可以访问外部类和所属方法的的所有内容。但是当这三个地方有着一个重名的变量的时候,局部内部类不能访问和修改所属方法中的局部变量和类中的成员变量,根本原因在于声明周期的不同。

匿名内部类是局部内部类的一种,这个类只使用一次。可以使用Lambda表达式简化写法。

相关文章

  • 再拾Java基础(二)

    一、final关键字 final可以修饰类、方法和变量,被修饰的这些类、方法和变量都有 不可更改 的意思。 fin...

  • 再拾Java基础(一)

    一、byte,short,char数据类型的隐式转换成int的注意点 在运算符(包括算术运算符、关系运算符、赋值运...

  • Java 基础拾遗(二)

    这篇我们来复习下针对数组常用的一些方法。1、优化过的快速排序法 对数组中的元素,从第几个到第几个进行排序 从结果我...

  • Java 拾遗(之二)

    Java 拾遗(之二) 背景 上一篇《拾遗》只是对Java语言基础知识的一个笼统的梳理,有些之前接触不太多的,或者...

  • java SE目录

    java SE目录 java基础(一)java基础(二)关键字面向对象(一)面向对象(二)面向对象(三)集合(一)...

  • 重拾java基础

    虽然做了很久的开发,但是总是觉得自己基础不太牢固,对一些东西有些模糊,重新回顾一下以前可能没有注意到的知识点(不定...

  • JAVA基础拾忆

    1. 字符串转字符数组 2. Java Math的 floor,round和ceil的总结 floor 返回不大于...

  • java基础:Enum — 源码分析

    其他更多java基础文章:java基础学习(目录) 学习资料Java 7 源码学习系列(二)——EnumJava的...

  • 你所需要的java提升篇大总结

    java基础篇深入解析大总结 java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规则 jav...

  • 九章算法课程顺序

    第1周 第一周: Java与算法基础入门 Java 语法基础 Introduction to Java 变量,二进...

网友评论

    本文标题:再拾Java基础(二)

    本文链接:https://www.haomeiwen.com/subject/bjkdhctx.html