4.12总结

news/2025/2/12 22:03:15/

一、static代码块

1、jvm加载类时,加载静态代码块

    a、如果有多个静态块,按顺序加载。

    b、每个静态块只会被执行一次

    c、在方法里不可以定义static变量,static变量的定义只能在类的范围内,可以去访问。

二、继承

定义:将重复的代码抽取到父类中,优化代码。(方便修改,减少代码量)

          子类与父类的关系式is- a关系。

a、编写父类

                  [访问修饰符] class Pet{

    //公共的属性和方法

}

b、编写子类,继承父类

[访问修饰符] class Dog extends Pet{

//子类特有的属性和方法

}

c、java中只支持单根继承,即一个类只能有一个直接父类

d、(1)继承public 和protected修饰的属性和方法不管子类和父类是否在一个包里

      (2)被默认修饰符修饰的属性和方法,但子类和父类必须在同一个包里


e、不能被继承的父类成员1、被private修饰的成员

                                        2、子类和父类不在同一个包里,使用默认修饰符访问权限的成员

                                        3、构造方法(可以被访问)

三、方法重写

1、为什么要方法重写?

我们的子类继承了父类的方法,但是可能还不能够满足子类要求,于是我们可以在父类方法的基础上添加我们所需的结构上去,

等于将原来的方法升级并覆盖了;

方法重写的规则:(只能在继承关系才能重写)(overriding)

2、要求:

1、方法名相同

2、参数列表相同

3、访问权限不能严于父类

4、返回值类型相同或是其子类

(假如父类返回的是一个对象,那我们新方法返回的也应该是一个对象,并且该对象所属的类必须为父类返回对象所属类的子类才行)


5、a、父类方法假如为静态方法,子类不能将其重写为非静态方法;

b、父类方法假如为非静态方法,子类不能将其覆盖为静态方法;

c、子类可以定义与父类同名的静态方法,以便在子类中隐藏父类的静态方法;

( 注:静态方法不能使用super,原因是super可以看成是父类的对象;但是假如父类中只有被运行的静态方法,并没有对象存在,那super就冲突了;)

d、父类的私有方法不能被子类覆盖;

e、子类不能抛出比父类方法更多的异常;(后面讲)


方法重写vs方法重载:


比较项      位置     方法名   参数表       返回值       访问修饰符

方法重写    子类      相同     相同    相同或是其子类   不能比父类更严格

方法重载    同类      相同    不相同        无关           无关



补充一点知识:在一个类文件中只能有一个public修饰的公开类,可以存在多个不被修饰的其它普通类。




http://www.ppmy.cn/news/387917.html

相关文章

Matlab---寻找峰值函数

方法一: findpeaks 寻找峰值函数 pks findpeaks(data) [pks,locs] findpeaks(data) ------pks 对应峰值,locs 对应峰值位数 [...] findpeaks(data,minpeakheight,mph)----mph 设定峰值的最小高度 [...] findpeaks(data,minpeakdistance,mpd)---…

matlab 信号平滑处理方法

smooth函数、imfilter滤波、直接用conv2,最简单的低通比如1/9*ones(3) 详细: 1.smooth: %-------------------------------------------------------------------------- % 调用smooth函数进行加噪数据的平滑处理 %---------------------…

warning:iteration 7 invokes undefined behavior

这里是因为定义FP_Request_Buffer数组时只开了28位,而下标却到了32造成的溢出错误.

非参数统计之局部多项式回归

局部多项式回归 局部多项式回归是非参数回归的一种方法,主要是由于 N a d a r a y a − W a t s o n Nadaraya-Watson Nadaraya−Watson估计方法的加权是基于整个样本点,而且往往在边界上的估计效果并不理想。 局部线性回归 解决上述问题的办法就是用…

核平滑方法——局部多项式回归

Kernel Smoothing — Local polynomial regression 1. 核平滑方法代码实现 2. 局部多项式核回归2.1 加权最小二乘法(Weighted least squares)2.2 局部多项式核回归(Local polynomial kernel regression)代码实现 \qquad 本文以一维核平滑为例,假设有观测数据集 { x…

Curve fitting C: Non-linear Iterative Curve Fitting中文翻译

Curve fitting C: Non-linear Iterative Curve Fitting (a.k.a. "spectral deconvolution" or "peak deconvolution") ---开始翻译时间2017-03-22(要是网站改版我就无能为力了) --------2017-03-25 先这样,后面的可能不…

信号峰拟合的MATLAB程序,包括高斯拟合,多高斯拟合等多种类型

今天准备弄双高斯拟合,看到一个信号峰拟合的MATLAB版本的程序,大体看了一下,很不错,先MARK一下,以后再详细研究。 http://terpconnect.umd.edu/~toh/spectrum/CurveFittingC.html http://terpconnect.umd.edu/~toh/spe…

C#当动态数据过大画图有困难时怎么办?

笔者最近写了一个监控软件, 数据量较大, 而所用插件刷新有压力. 所以就写了一个支持数据抽取的大数据维护类. // 设计需求:// 会发生数据的新增, 并且在数据达到上限时自动去掉前半截数据,// 高频的等间隔读取抽有数据,// 数据结构大小是可以在生成对象时提供, 并且对不提供大小…