首页 > 其他分享 >7.14

7.14

时间:2023-07-14 18:00:36浏览次数:38  
标签:7.14 子类 代码 抽象 抽象类 父类 方法

在Java中,使用{}括起来的代码被称为代码块(Code block),根据其位置和声明的不同,可以分为:

局部代码块,构造代码块,同步代码块,静态代码块。

  • 静态代码块:在类加载JVM时初始化,且只被执行一次;常用来执行类属性的初始化;静态块优先于各种代码块以及构造函数;此外静态代码块不能访问普通变量。
  • 构造代码块:每次调用构造方法,构造代码块都执行一次;构造代码块优先于构造函数执行;同时构造代码块的运行依赖于构造函数。

代码块初始化时机:构造代码块在实例对象创建时进行初始化;静态代码块在类加载时进行初始化。

代码块执行顺序:静态代码块 ==> main()方法 ==> 构造代码块 ==> 构造方法 ==> 局部代码块 。

继承中代码块执行顺序:父类静态块 ==> 子类静态块 ==> 父类代码块 ==> 父类构造器 ==> 子类代码块 ==> 子类构造器 。 

 

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。

由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。

父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。

在 Java 中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。

抽象方法

如果你想设计这样一个类,该类包含一个特别的成员方法,该方法的具体实现由它的子类确定,那么你可以在父类中声明该方法为抽象方法。

Abstract 关键字同样可以用来声明抽象方法,抽象方法只包含一个方法名,而没有方法体。

抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号。

抽象类总结规定

1.抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。

2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

3. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。

4. 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。

5. 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。

标签:7.14,子类,代码,抽象,抽象类,父类,方法
From: https://www.cnblogs.com/dmx-03/p/17554656.html

相关文章

  • 7.14 海高集训 DP 专题 2
    出题人:\(\text{D}\color{red}\text{eaphetS}\)#A.[NOIP2012提高组]开车旅行倍增优化dp。这题难就难在预处理。首先预处理出A和B每个人从一个城市出发的目标是哪个城市。可以用平衡树找一个点的前驱和后继,或者双向链表。我当然选择了最偷懒的set。(ps:这里如果用set......
  • 2023.7.14
    学习java中的类面向对象与面向过程面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象:强调具备了功能的对象,以类/对象为最小单位类与对象的关系类:对一类事物的描述,是抽象的、概念上的定义对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)面向对象......
  • 7.14 字符串拆分
    splitpublicclassHelloWorld{publicstaticvoidmain(Stringargs[]){Stringstr="helloworldhellomldn";//split按照指定字符串全部拆分//Stringresult[]=str.split("");//for(intx=0;x......
  • Vue————Vue v2.7.14 入口文件【二】
    前言按着我的习惯,拿到一个项目首先我会查看项目下的README.md其次查看package.json,这里也不例外看过README.md后,来看下package.json;GitHubgithubpage内容package.......
  • Vue——Vue v2.7.14 源码阅读之代码目录结构【一】
    前言这里主要说一些vue2.7.14源码的目录结构,其实这块有些目录并不重要,不过我还是想全面的描述下,详细的一些文件说明会随着源码解读来补充完善,其中描述如果有错的地方还......
  • 7.14 SQL Server子查询
    SQLServer子查询目录SQLServer子查询简介嵌套子查询SQLServer子查询类型SQLServer子查询用于代替表达式SQLServer子查询与IN运算符一起使用SQLServer子查询与ANY运......