abstract类、值传递

简介: abstract抽象类抽象类的应用场景:描述一类事物的时候,发现该事物确实存在着某种行为,但是目前该行为是不具体的,那么这时候我们应该抽取该方法的声明,不去实现该方法,这时候我们应该使用抽象类。

abstract抽象类

  • 抽象类的应用场景:
    描述一类事物的时候,发现该事物确实存在着某种行为,但是目前该行为是不具体的,
    那么这时候我们应该抽取该方法的声明,不去实现该方法,这时候我们应该使用抽象类。

  • 抽象类要注意的细节:

    1. 如果一个方法没有方法体,那么该方法必须使用abstract修饰。
    2. 如果一个类有抽象的方法,那么该类也必须使用abstract修饰,或者使用接口。
    3. 非抽象类继承抽象类的时候,必须要把抽象类中的所有抽象方法全部实现。
    4. 抽象类可以定义抽象方法以及非抽象方法。
    5. 抽象类是可以不存在抽象方法的。
    6. 抽象类不能创建对象。
      疑问: 为什么抽象类不能创建对象呢?
      因为抽象类一旦创建了对象就可以使用对象去调用方法了,一旦调用了抽象方法就没有任何的意义了。
    7. 抽象类是存在构造方法的。
      疑问:既然抽象类不能创建对象,那么存在构造方法的意义在那?
      抽象类的构造方法是留给子类调用初始化从父类继续下去的成员变量的。

abstract不能与以下关键字配合使用

  1. private修饰符
  2. final关键字
  3. static关键字

值传递

调用一个方法时,传递给方法的是变量多存储的值。

相关文章
|
4月前
|
Java
【Java基础】类名、抽象类、接口名的参数传递及成员内部类、局部内部类和匿名内部类的使用
【Java基础】类名、抽象类、接口名的参数传递及成员内部类、局部内部类和匿名内部类的使用
56 0
|
编译器
C++11之继承构造函数(using 声明)
C++11之继承构造函数(using 声明)
207 0
|
Java
Java中继承的实现及继承中变量、构造方法、成员方法的访问特点
继承的实现及继承中变量、构造方法、成员方法的访问特点的简单示例
115 0
Java中继承的实现及继承中变量、构造方法、成员方法的访问特点
学生类-构造函数
学生类-构造函数
154 0
|
前端开发 开发者
class-子类访问父类上的实例方法|学习笔记
快速学习 class-子类访问父类上的实例方法
105 0
|
Java
Java - 子类隐藏成员变量和方法重写的理解
Java - 子类隐藏成员变量和方法重写的理解
189 0
Java - 子类隐藏成员变量和方法重写的理解
|
JavaScript 安全 前端开发
你知道匿名内部类、Lambda表达式为嘛只能使用外部final的变量吗?
你知道匿名内部类、Lambda表达式为嘛只能使用外部final的变量吗?
你知道匿名内部类、Lambda表达式为嘛只能使用外部final的变量吗?
|
编译器
类的构造函数
类的构造函数
149 0