网站开发必须要搭建环境吗,聊城专业建设学校,企业网络需求分析报告,南昌室内设计学校1.java学习记录
1.方法的重载
重载换而言之其实就是函数名不变#xff0c;但是其中的参数需要改变#xff0c;可以三个方面改变#xff08;参数类型#xff0c;参数顺序#xff0c;参数个数这三个方面入手#xff0c;这样可以运用的#xff09;
但是#xff1a;注意…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.每日一题
最短路计数 #includebits/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.disdis;}
};priority_queue node q;void addedge(int x,int y,int z)
{cnt;e[cnt].toy;e[cnt].wz;e[cnt].nexthead[x];head[x]cnt;
};int main()
{cinnm;for(int i1;in;i)dis[i]0x3f3f3f3f;dis[1]0;ans[1]1;for(int i1;im;i){int x,y;cinxy;addedge(x,y,1);addedge(y,x,1);}q.push((node){0-dis[1],1});while(!q.empty()){node tmpq.top();q.pop();int postmp.pos;int dtmp.dis;if(vis[pos]1)continue;vis[pos]1;for(int ihead[pos];i!0;ie[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 i1;in;i){printf(%lld\n,ans[i]);}return 0;
}