当前位置: 首页 > news >正文

3.28总结

1.java学习记录

1.方法的重载

重载换而言之其实就是函数名不变,但是其中的参数需要改变,可以三个方面改变(参数类型,参数顺序,参数个数这三个方面入手,这样可以运用的)

但是:注意访问修饰符或返回值设置不同,而参数设置相同时,无法构成方法的重载。

public class Test {public Test(){System.out.println("无参构造方法");}public Test(int a){System.out.println("单参构造方法 a:"+a);}public Test(int a, String b){System.out.println("无参构造方法 a:"+a +"b:"+b);}public static void main(String[] args) {new Test();new Test(1);new Test(1,"1");}
}

2.封装

4.1 什么是封装
        当我们需要安全地访问对象时,例如限制给对象赋值的范围(避免数据类型的不同或者数据范围超出预计),我们就需要使用封装技术。
        封装就是将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法(如set或者get)来实现对隐藏信息的操作和访问。

方法封装的主要优点包括:

代码抽象: 将复杂的操作和算法封装在方法中,使得调用者只需要关注方法的用途,而无需关心具体的实现细节。

隐藏实现细节: 封装隐藏了方法的具体实现,从而防止外部代码直接访问或修改内部逻辑,提高了信息隐藏和安全性。

提高可读性: 使用有意义的方法名和参数,使代码更易于理解和阅读,降低了理解和维护代码的难度。

提高可维护性: 修改方法的实现只需要在方法内部进行,不影响外部调用者的代码,从而减少了代码变更的影响范围。

代码重用: 封装的方法可以在不同的地方重复使用,避免了代码的重复编写,提高了代码的重用性。

用封装的方法,计算圆的面积

class Circle {private double radius;public Circle(double r) {radius = r;}// 封装的方法,计算圆的面积public double calculateArea() {return Math.PI * radius * radius;}
}public class Main {public static void main(String[] args) {Circle circle = new Circle(5.0);// 调用封装的方法,计算圆的面积double area = circle.calculateArea();System.out.println("Circle Area: " + area);}
}

2.每日一题

最短路计数

#include<bits/stdc++.h>
using namespace std;
int n,m,cnt;
long long dis[1000006];
int vis[1000005];
int head[1000005]; 
long long ans[1000005];
struct edge
{int to;int w;int next;
}e[5000005];
struct node
{int dis,pos;bool operator <(const node &a)const{return a.dis>dis;}
};priority_queue <node> q;void addedge(int x,int y,int z)
{cnt++;e[cnt].to=y;e[cnt].w=z;e[cnt].next=head[x];head[x]=cnt;
};int main()
{cin>>n>>m;for(int i=1;i<=n;i++)dis[i]=0x3f3f3f3f;dis[1]=0;ans[1]=1;for(int i=1;i<=m;i++){int x,y;cin>>x>>y;addedge(x,y,1);addedge(y,x,1);}q.push((node){0-dis[1],1});while(!q.empty()){node tmp=q.top();q.pop();int pos=tmp.pos;int d=tmp.dis;if(vis[pos]==1)continue;vis[pos]==1;for(int i=head[pos];i!=0;i=e[i].next){if(dis[e[i].to]>dis[pos]+e[i].w){dis[e[i].to]=dis[pos]+e[i].w;ans[e[i].to]=ans[pos];q.push((node){0-dis[e[i].to],e[i].to});}else if(dis[e[i].to]==dis[pos]+e[i].w){ans[e[i].to]+=ans[pos];ans[e[i].to]%=100003;}}}for(int i=1;i<=n;i++){printf("%lld\n",ans[i]);}return 0;
}

 

相关文章:

3.28总结

1.java学习记录 1.方法的重载 重载换而言之其实就是函数名不变&#xff0c;但是其中的参数需要改变&#xff0c;可以三个方面改变&#xff08;参数类型&#xff0c;参数顺序&#xff0c;参数个数这三个方面入手&#xff0c;这样可以运用的&#xff09; 但是&#xff1a;注意…...

C# 命名空间的两种定义哦写法与区别

这两种写法在C#中都是有效的&#xff0c;但是它们代表了不同的语法风格和C#版本特性。 第一种写法&#xff1a; namespace Nebula.PDF; public class PdfDocument {}这是C# 9.0及更高版本中引入的顶级语句&#xff08;top-level statements&#xff09;特性。它允许你直接在文…...

Rustdesk客户端编译后固定密码不稳定时好时坏

环境&#xff1a; rustdesk1.19 问题描述&#xff1a; Rustdesk客户端编译后固定密码不稳定时好时坏 解决方案&#xff1a; 出现固定密码不稳定的问题可能有多种原因&#xff0c;下面是一些可能的解决方法&#xff1a; 密码强度&#xff1a;确保所设置的固定密码足够强大…...

小程序利用WebService跟asp.net交互过程发现的问题并处理

最近在研究一个项目&#xff0c;用到asp.net跟小程序交互&#xff0c;简单的说就是小程序端利用wx.request发起请求。获取asp.net 响应回来的数据。但经常会报错。点击下图的测试按钮 出现如下错误&#xff1a; 百思不得其解&#xff0c;试了若干方法&#xff0c;都不行。 因为…...

TitanIDE与传统 IDE 比较

与传统IDE的比较 TitanIDE 和传统 IDE 属于不同时代的产物&#xff0c;在手工作坊时代&#xff0c;一切都是那么的自然&#xff0c;开发者习惯 Windows 或 MacOS 原生 IDE。不过&#xff0c;随着时代的变迁&#xff0c;软件行业已经步入云原生时代&#xff0c;TitanIDE 是顺应…...

反序列化动态调用 [NPUCTF2020]ReadlezPHP1

在源代码上看到提示 访问一下看看 代码审计一下 <?php #error_reporting(0); class HelloPhp {public $a;public $b;public function __construct(){$this->a "Y-m-d h:i:s";$this->b "date";}public function __destruct(){$a $this->a;…...

Hadoop面试重点

文章目录 1. Hadoop 常用端口号2.Hadoop特点3.Hadoop1.x、2.x、3.x区别 1. Hadoop 常用端口号 hadoop2.xhadoop3.x访问HDFS 端口500709870访问 MR 执行情况端口80888088历史服务器1988819888客户端访问集群端口90008020 2.Hadoop特点 高可靠&#xff1a;Hadoop底层维护多个数…...

【ONE·基础算法 || 分治·快排并归】

总言 主要内容&#xff1a;编程题举例&#xff0c;理解分治的思想&#xff08;主要是对快排、并归的应用&#xff09;。       文章目录 总言1、基本介绍2、颜色分类&#xff08;medium&#xff09;2.1、题解 3、快速排序&#xff08;medium&#xff09;3.1、题解&#xff…...

Python 从0开始 一步步基于Django创建项目(11)注册新用户

1、修改C:\D\Python\Python310\study\snap_gram\users路径下的urls.py 添加‘注册新用户’URL。 #注册新用户 path(register/,views.register,nameregister), 2、修改C:\D\Python\Python310\study\snap_gram\users路径下的views.py 编写URL对应的视图函数register。 def r…...

银行监管报送系统介绍(十二):非居民金融账户涉税信息报送

国家税务总局、财政部、中国人民银行、中国银行业监督管理委员会、中国证券监督管理委员会、国家金融监督管理总局2017年5月9日发布、2017年7月1日起施行的《非居民金融账户涉税信息尽职调查管理办法》。 一、《管理办法》出台的背景是什么&#xff1f;   受二十国集团&…...

土壤有机质空间分布数据

土壤有机质&#xff08;soil organic matter&#xff09;是土壤中含碳有机化合物的总称&#xff0c;包括土壤固有的和外部加入的所有动植物残体及其分解产物和合成产物。主要来源于动植物及微生物残体&#xff0c;可分为腐殖质和非腐殖物质。一般占土壤固相总重的10%以下&#…...

Unity图集编辑器

图集编辑器 欢迎使用图集编辑器新的改变编辑器图片 欢迎使用图集编辑器 Unity图集操作很是费劲 无法批量删除和添加图集中的图片 新的改变 自己写了一个图集编辑器 客&#xff1a; 支持批量删除 左键点击图片代表选中 右键点击图标定位到资产支持批量添加 选中图片拖拽到编…...

【JS笔记】JavaScript语法 《基础+重点》 知识内容,快速上手(六)

面向对象OOP 首先&#xff0c;我们要明确&#xff0c;面向对象不是语法&#xff0c;是一个思想&#xff0c;是一种 编程模式面向&#xff1a; 面&#xff08;脸&#xff09;&#xff0c;向&#xff08;朝着&#xff09;面向过程&#xff1a; 脸朝着过程 》 关注着过程的编程模…...

hbase启动错误-local host is“master:XXXX“ destination is:master

博主的安装前提&#xff1a; zookeeper安装完成&#xff0c;且启动成功 hdfs高可用安装&#xff0c;yarn高可用安装&#xff0c;且启动成功 报错原因&#xff1a;端口配置不对 解决方案&#xff1a; 输入&#xff1a;hdfs getconf -confKey fs.default.name 然后把相应的…...

基于SpringBoot的“招生管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“招生管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 系统首页界面图 学生注册界面图 …...

Chinese-LLaMA-Alpaca-2模型量化部署测试

简介 Chinese-LLaMA-Alpaca-2基于Meta发布的可商用大模型Llama-2开发, 是中文LLaMA&Alpaca大模型的第二期项目. 量化 模型的下载还是应用脚本 bash hfd.sh hfl/chinese-alpaca-2-13b --tool aria2c -x 8应用llama.cpp进行量化, 主要参考该教程. 其中比较折腾的是与BLAS…...

flutter 打包成web应用后怎么通过url跳转页面

在 Flutter 中&#xff0c;如果你想要在打包成 Web 应用后通过 URL 跳转页面&#xff0c;你可以利用 Flutter 提供的路由导航系统和 URL 策略。以下是具体步骤&#xff1a; 1. 配置路由 在 Flutter 应用中定义路由&#xff0c;一种简单的方式是使用 MaterialApp 构造器的 rou…...

【设计模式】中介者模式的应用

文章目录 1.概述2.中介者模式的适用场景2.1.用户界面事件2.2.分布式架构多模块通信 3.总结 1.概述 中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为型设计模式&#xff0c;它用于解决对象间复杂、过度耦合的问题。当多个对象&#xff08;一般是两个以上的对象&…...

【微服务篇】分布式事务方案以及原理详解

分布式事务是指事务参与者、资源服务器、事务管理器分布在不同的分布式系统的多个节点之上的事务。在微服务架构、大型分布式系统和云计算等环境中&#xff0c;由于系统间调用和资源访问的复杂性&#xff0c;分布式事务变得尤为重要。 应用场景 跨系统交易&#xff1a;当交易…...

String 类的常用方法都有那些?

String 类在 Java 中是一个非常重要的类&#xff0c;用于处理文本数据。它提供了许多方法来操作字符串。以下是一些 String 类的常用方法&#xff1a; 构造方法 String(): 创建一个新的空字符串对象。String(byte[] bytes): 使用指定的字节数组来创建一个新的 String 对象。S…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001

qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类&#xff0c;直接把源文件拖进VS的项目里&#xff0c;然后VS卡住十秒&#xff0c;然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分&#xff0c;导致编译的时候找不到了。因…...