zoukankan      html  css  js  c++  java
  • java——阶段性整理(方法的重载重写和一些关键字)

    一、方法的重载和方法的重写

    重载:overload,同一给类中方法名相同,参数不同。作用:一种行为提供多种实现方式并提高可读性。

    重写:override,子类继承父类的方法,内容不同。作用:父类方法无法满足子类的要求,子类通过方法重写满足要求

    二、简述static关键字的作用。

    static可以修饰变量、方法、代码块和内部类,分别称为静态变量,静态方法,静态代码块和静态内部类。

    1)静态遍历属于这个类所有,即由该类创建的所有对象共享同一个static变量。

      a)不管有多少个对象,静态变量只有一份。

      b)静态变量存放在方法区中。

      c)可通过对象名.静态变量名,类名.静态变量名两种方式访问。

      d)静态变量在第一次使用类的时候分配空间。

    2)静态方法

      可通过对象名.静态方法名和类名.静态方法名两种方式访问。

    3)静态代码块

      当类第一次使用时执行静态代码块,且只被执行一次,主要作用是实现static属性的初始化

    4)静态内部类

      属于整个外部类,而不属于外部类的每个对象。

    三、final和abstract关键字的作用

    final和abstract是功能相反的两个关键字,可以对比记忆

    1)abstract可以用来修饰类和方法,不能用来修饰属性和构造方法;使用abstract修饰的类是抽象类,需要被继承,使用abstract修饰的方法是抽象方法,需要被子类重写。

    2)final可以修饰类、方法和属性,不能修饰构造方法。使用final修饰的类不能被继承,使用final修饰的方法不能被重写,使用final修饰的变量的值不能被修改,被final修饰的变量值称为常量。

    3)特别注意

      final修饰基本类型变量,其值不能改变。final修饰引用类型变量,栈内存中的引用不能改变,但是所指向的堆内存中的对象的属性值仍旧可以改变。

    四、接口和抽象类的相同和不同之处

    相同点

    • 抽象类和接口均包含抽象方法
    • 抽象类和接口都不能实例化

    两者的区别主要体现在两个方面:语法方面和设计理念方面。

    语法方面的区别是比较低层次的,非本质的。

    不同点

    • 接口中只能定义全局静态常量。抽象类中可以定义常量和变量
    • 接口中所有的方法都是全局抽象方法。抽象类中可以有0个、1个或多个,甚至全部都是抽象方法。
    • 抽象类中可有构造方法,但不能实例化。接口中不能定义构造方法。
    • 一个类只能有一个父类(可以是抽象类),但可以实现多个接口

    二者的主要区别还是在设计理念上,其决定了某些情况下到底使用抽象类还是接口

    • 抽象类体现了一种继承关系,目的是复用代码。父类和子类之间必须存在“is-a”的关系,即父类和子类在概念本质上应该是相同的。
    • 接口定义了“做什么”,而实现类负责完成“怎么做”,体现了功能(规范)和实现分离的原则。接口和实现之间可以认为是一种“has-a”的关系
  • 相关阅读:
    联想 Vibe Shot(Z90-3) 免recovery 获取ROOT权限 救砖 VIBEUI V3.1_1625
    联想 Z5S(L78071)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.370
    联想 Z5(L78011) 免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.254
    联想 S5 Pro(L78041)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 5.0.123
    第二阶段 冲刺八
    第二阶段 冲刺七
    第二阶段 冲刺六
    第二阶段 冲刺五
    代码大全阅读笔记03
    学习进度十二
  • 原文地址:https://www.cnblogs.com/rsdqc/p/5410939.html
Copyright © 2011-2022 走看看