java方法覆写与方法重载小结

LiveKit 本地部署实战:从零搭建安全实时通信环境(Caddy+HTTPS) 本文详细介绍了如何从零开始搭建LiveKit本地部署环境,结合Caddy服务器实现HTTPS安全通信。通过环境准备、证书生成、服务配置到前端客户端集成的完整流程,帮助开发者快速构建实时音视频应用,特别适合需要安全实时通信的场景。 阅读详情

初学java,对方法覆写与方法重载存有疑惑,特此写下小结,帮助理解。

方法的重载(同类中)

同一个类中,方法名相同,参数不同就是重载,与返回值类型无关,实际上是多个方法,仅仅名字相同而已。
类似生活中,大厨炒菜,虽然名字一样,但是每次放的作料不同,做出的菜也不同

public class FunctionDemo {
    int price;
    public static void main(String[] args) {
       FunctionDemo cooker = new FunctionDemo();
       cooker.cook();//调用无参cook方法
       System.out.println(cooker.cook(18));//调用带参且返回值不同的cook方法

    }

    void cook(){
        System.out.println("炒个青椒肉丝 下酒");
    }

    int cook(int price){//重载 仅仅名字相同
        this.price = price;
        System.out.println("天热了 来盘拍黄瓜");
        return price;
    }
}

/*运行结果:
炒个青椒肉丝 下酒
天热了 来盘拍黄瓜
18
*/
方法的覆写(不同类中)

方法的覆写,存在继承关系,当父类的方法不能满足子类的需求的时候,就需要对其进行覆写。只能调用一个方法。
覆写注意:
1.需要继承关系
2.方法签名完全一致,包括方法名和参数列表
3.子类方法 访问权限比父类高
4.子类方法 返回值类型兼容父类,并且比父类低
5.关键字final 或者 static修饰的 不能被覆写
6.构造方法不能被覆写

public class FunctionDemo1 {
    public static void main(String[] args) {
        Cooker1 cooker1 = new Cooker1();
        cooker1.cook();
    }
}

class Cooker{
    int cook(){//签名完全一致
        System.out.println("炒个青椒肉丝 下酒");
        return 1;
    }
}

class Cooker1 extends Cooker{//继承Cooker类
    public int cook(){//父类方法不能满足子类要求 需要覆写
        System.out.println("天热了 来盘拍黄瓜");
        return 2;
    }
}
《派出你的AI同事:WorkBuddy案例实战》067:按行业分类的案例索引 按行业分类的案例索引 —— 《派出你的AI同事:WorkBuddy案例实战》系列文章,配图已统一为规范示意图。 阅读详情

相关推荐

劳特巴赫 Trace32 调试使用教程

详细介绍如何使用trace32进行调试

m0_56208280的博客 4万+

Java入门 - 方法的使用第6关:方法的重载

任务要求 参考答案 任务描述 相关知识 判断方法重载的依据: 敲黑板 编程要求 测试说明 任务描述 本小节需要你掌握一个Java方法重载的小程序,在每一个重载的方法中打印相应的语句。 相关知识 问: 什么是方法的重载呢? 答: 如果同一个类中包含了两个或两个以上方法名相同,方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 3 个方法名称都为 print ,但方法的参数有所不同,因此都属于方法的重载: 问: 如何区分调用的是哪个重载方法呢?

Hakuuna的博客 5935

深入浅出:利用NXP S32K3xx的HSE模块实现OTA双分区(AB Swap)与安全回滚

本文深入解析NXP S32K3xx HSE模块在汽车电子OTA双分区架构中的工程实践,详细介绍了HSE模块如何通过AB Swap双分区机制实现固件安全升级与毫秒级回滚。内容涵盖内存重映射硬件原理、分区切换异常处理及寄存器级诊断方法,为开发高可靠嵌入式系统提供实战指导。

weixin_30919429的博客 794

java基础之重载

java重载

qq_46136596的博客 1271

WOFOST作物模型(7):6.0.6版本的PCSE使用(多层水分平衡和SNOMIN碳氮模型的集成)

wofost81文件结构如上,其中所需的参数可从github上获取然后input下有两个需要调用的功能函数py文件,需要拖到自己的运行py文件同级目录下在使用土壤模块SNOMIN进行作物生长模型模拟时,需要为土壤剖面的不同层次提供多种输入变量。这些变量通常不随年份变化,因此会统一在土壤文件中定义。本节将说明如何将这些输入变量整合到一个字典中,进而生成SNOMIN能够读取的土壤文件。

所有专家都曾始于新手 637

使用Python爬取在线图书馆的图书馆藏和阅读记录

通过使用Python编写爬虫程序,我们可以从在线图书馆上获取图书馆藏和阅读记录,帮助人们更好地管理和利用图书馆资源。本文简要介绍了爬虫程序的准备工作、网页解析和数据提取、数据的保存和处理的关键步骤,并提供了一个示例代码。在实际应用中,我们需要注意遵守在线图书馆的使用规则和爬虫道德准则,确保合法、合规地进行爬取操作。以上仅为概述,实际应用的过程中可能需要根据具体需求进行适当的调整和改进。

2201_76125393的博客 729

Educoder - Java入门 - 方法的使用各关卡题目总结

第1关 如何定义方法 package step1; public class HelloWorld { /********** Begin **********/ //定义一个方法,用来和老师打招呼 /********** End **********/ public static void main(String[] args) { helloEducoder(); } public static void helloEducoder() {

刘向阳的博客 2万+

(代码可运行)半导体器件和工艺模拟 使用Silvaco设计构建NMOS并提取各项工艺及器件参数

win10。

qq_20388971的博客 109

Java学习总结------方法重载与方法覆写

方法重载(overlode) 在同一个类中定义多个同名的方法就叫方法重载。 方法重载的要求: 方法与方法之间的名称相同,形参列表不同,与返回值类型无关。 注:此处的形参列表不同指的是形参的个数或者类型不相同,有的书上也说形参的顺序不同也可以构成方法重载,其实形参顺序不同的本质还是形参类型的不同。为了避免混淆在 实际使用中尽量使得返回值类型一致。 方法重载的作用: 方法重载通常命名一组功能相似的方法...

博客 554

飞牛fnNAS个人小账本导入微信账单

本文介绍了将微信支付账单导入ezBookkeeping个人记账系统的详细方法。首先通过微信申请导出账单文件,接收后需进行Excel预处理:删除前导行、添加账户和分类列、整理金额格式等。在ezBookkeeping中需预先设置"微信"分类和账户。导入时需注意列映射关系,包括交易时间、账户名称等关键字段的对应设置。文章还提到处理交易标签、格式转换等细节问题,并建议避免使用"修改余额"功能。该方法同样适用于支付宝账单导入,解决了直接导入可能出现的格式不兼容问题。

dgnankai的专栏 482

EMB电子机械制动系统和EHB电子液压制动系统控制功能的对比

EMB电子机械制动系统相比EHB液压制动系统具有显著优势:响应速度更快(<100ms)、控制精度更高(±2N·m)、能实现单轮独立控制,支持0.1%级制动力调节。在ABS、ESC等安全功能上表现更优,制动平顺性和NVH性能更好,同时提升能量回收效率15%-20%。特别适合智能驾驶需求,可使AEB等系统响应时间缩短50ms,紧急制动距离减少1米以上。EMB系统完美契合高阶自动驾驶对快速响应和精准控制的要求。

m0_59012156的博客 885

JAVA 基础学习注意事项(IDEA快捷键、方法的定义以及重载、数组初始化)

1. idea 操作 1.1 快捷字:5.fori 等同于 for(int i=0;i<5;i++){ } 1.2 查看IDEA快捷键 2. 方法method 2.1 方法定义的前后顺序无所谓 2.2 void的方法只能return自己 没有返回值,只是结束方法的执行 public static void aaa(){ return; } 2.3 重载overload 函数名字相同...

tastyrekeke的博客 332

把浮点数这件小事讲清楚:ABAP 7.51 里 Open SQL 与 ABAP CDS 的 FLTP 新玩法与避坑指南

ABAP浮点数计算的风险与应对 摘要:ABAP项目中的浮点数(FLTP)在跨平台计算时存在误差风险,同一逻辑在不同数据库平台可能产生细微差异。ABAP 7.51新增了两项关键能力:1)Open SQL和ABAP CDS中可为AVG函数指定结果类型,避免默认返回FLTP;2)ABAP CDS提供FLTP_TO_DEC转换函数。但需注意这些转换仍可能存在平台相关差异,且FLTP_TO_DEC会截断而非四舍五入小数位。开发者在涉及金额、数量等关键业务计算时,应明确数值语义并设计容错机制。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 214

Java多态特性:重载和覆写的比较

Java重载: 在同一个类中方法具有相同的名字,相同或不同的返回值,但参数不同的多个方法(参数个数或参数类型) public class MethoDemo{ public static void main(String args[]){ int one = add(10,20) ; // 调用整型的加法操作 float two = add(10.3f,13.3f) ;

pengkv的专栏 2147

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【转】 Java多态特性:重载和覆写的比较

Java重载: 在同一个类中 方法具有相同的名字,相同或不同的返回值,但参数不同的多个方法(参数个数或参数类型) public class MethoDemo{ public static void main(String args[]){ int one = add(10,20) ; // 调用整型的加法操作 ...

diejiankuai3444的博客 152

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Java多态特性:重载和覆写的比較

Java重载: 在同一个类中方法具有同样的名字,同样或不同的返回值,但參数不同的多个方法(參数个数或參数类型) public class MethoDemo{ public static void main(String args[]){ int one = add(10,20) ; // 调用整型的加法操作 float two = add...

weixin_30781107的博客 82

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Java中的多态、方法重载与方法重写

Java中的多态、方法重载与方法重写。 一、多态 1.1 了解多态之前先简单了解 “绑定” 1.1.1 绑定的概念 子类重写父类方法(实现类实现接口方法)的情况下,程序调用的方法到底是调用了父类(接口)中的方法,还是调用了子类(实现类)中的方法呢?我们将确定这种调用哪个方法的操作叫绑定。 绑定又分为静态绑定和动态绑定,又叫前期绑定和后期绑定。 1.1.2 静态绑定(前期绑定) 静态绑定就是在程序...

localhost65535的博客 996

Java多态小结

多态是Java三大特性之一(封装、继承、多态)。多态是指,针对某个类型的方法调用,其真正执行的方法取决于运行时期实际类型的方法。 多态分为方法和对象两种:方法的多态指方法的重载和覆写,这两个概念好理解;对象的多态(ps.不知道这样叫对不对)分为向上转型和向下转型,重点来介绍这两种转型: 向上转型 class Animal{ public void print(){ ...

itsonlytime的博客 157

java面向对象基础实验小结_JAVA面向对象基础小结

JAVA基础知识JAVA的面向对象(obtion object)Java面向对象首先要理清对象和类的关系:1. 类是对象的模板,对象是类的体现;现在把一个类比较一张汽车设计图纸,对象比做刚按照这张图纸制造出来的汽车。2. 一个类有很多对象,对象不能改变类的内容。一张图纸能够造出很多汽车,,其中的一辆车进行了改装,但是没能改变设计图纸,所以后面制造出来的汽车还是没有受到影响。3.创造一个类(类名首字...

weixin_31188325的博客 1865

java—类与继承小结

类与继承:     java面向对象的原则;         1.封装性:   (1)把对象和行为看成一个密不可分的整体,(2)           “信息隐蔽”把不需要让外界知道的信息隐藏起来         2.继承性:           3.多态性:   (1)方法重载:在一个类中允许多个方法使用同一个名字,但方法的参数不同,其完成的功能也不同   (2) 对象多态: 子类对象可

lcd_lcd_的博客 574

Java中重载方法的使用原则

Java中重载方法的使用原则 今天看到个有趣的问题,这里主要是针对重载方法中形参间是有继承关系的,在选择重载方法时按什么方式选择,问题如下: class Test3 { public static void main(String[] args) { Test3 t = new Test3();

斗胆潇洒~★ 1768

构造方法和方法重载小结

构造方法和方法重载作用:创建类的时候同时初始化数据,在创建new的时候.声明构造方法:public 类名;比如 public BOOK(){};对象变量进行初始化的 创建new的时候自动调用.自己写的有参数的构造函数 可以把值传给变量构造方法简单上说是为了可以根据类属性需要更方便的创建对象举个例子 比如咖啡这个类咖啡的类型、成分就可以看成一种属性,咖啡的种类可以是拿铁,摩卡...

265

java类的继承中方法的覆盖与重载

java类的继承中方法的覆盖与重载 我们都知道,java中类是可以继承的,而在继承中方法是可以覆盖或者重载的。以前一直在纠结什么时候是覆盖,而什么时候又是重写,知道前几天,终于把一些搞通。 原始代码: class Animal{ public void sayHello(){ System.out.println("hello~"); } } class C

lb201516的博客 973

Java中重写与重载的知识小结

1 重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不可以改变。 重写的好处就是子类可以根据需要,定义特定于自己的行为。也就是说子类能够根...

Funny54的博客 293

Java第五章小结

1. Java的访问控制修饰符有哪些?各有什么访问权限? Java的访问控制修饰符有: public private protected private:用 private 修饰的类成员,只能被该类自身的方法访问和修改,而不能被任何其他类(包括该类的子类)访问和引用。 public:当一个类被声明为 public 时,它就具有了被其他包中的类访问的可能性,只要包中的其他类在程序中使用 import 语句引入 public 类,就可以访问和引用这个类。 protected:用 protected

weixin_52867343的博客 387

python方法重载怎么重载_方法重载

在一个类中,我们可以定义多个方法。如果有一系列方法,它们的功能都是类似的,只有参数有所不同,那么,可以把这一组方法名做成同名方法。例如,在Hello类中,定义多个hello()方法:class Hello {public void hello() {System.out.println("Hello, world!");}public void hello(String name) {System...

weixin_39774808的博客 969
上一篇: 面向对象的特征(封装、继承、多态)
下一篇: java常用API
codemad
博客等级 码龄8年 1粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值