扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、java是强匹配的,调用方法,对应的参数必须要有值,如果不是必须传的,意思是你可能不需要用的,可以传null
10年积累的成都网站设计、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有通道免费网站建设让你可以放心的选择与我们合作。
2、或者改造原有的方法参数,把多余的参数去掉
3、或者另外写一个方法,少参数的,然后该方法内部,调用原来的方法
4、代码截图如下:
5、看代码,13行的,就相当于调用少一个参数的
拓展资料:
如题,有一个方法里两个形参,我另一个文件类中一个方法想要那个方法的返回值,可是第二个参数在这里用不到,能否只传第一个参数 如何实现,前提这个类不能继承后重写方法,因为多人合同写的。
解决方案
不可以,变通的办法是再写一个只有一个参数的函数重载形式,在其中给另一个参数一个预设值,间接调用。
解决方案二:
一个Action调用两个不同的方法
解决方案三:
调用的时候给一个无影响的值
解决方案四:
讲道理的话是不能这样做的,不过如果你传的第二个参数如果对于当前调用时没有意义也是可以传一个值的。
解决方案五:
首先,Java语法规定了方法的参数列表,那么调用的时候就需要按照方法定义传递给足够的参数,你那种需要少传参的话可以重载方法,不要定义那么多参数就可以了。
解决方案六:
你一个方法传入两个参数,但如果你只调用一个,那么另外一个参数你让人家多尴尬,你让人家尴尬了,人家也不会让你好过的,因此就给你报错啊,当然你可以像楼上所说,传入一个无影响的参数进去,但这又有什么意义,还造成代码的浪费,你这个方法每调用一次,就造成一次浪费,因此,最好的方法就是传入一个参数,写一个重载方法。初学者经验不足,互相指教~
解决方案七:
既然用不到第二个参数,最简单的,给个无关痛痒的初始值。
解决方案八:
方法定义2个参数,在方法体内提供判断参数,看传入的参数是否为null,调用方法时,只传入一个值,另一个是null就行。
解决方案九:
方法 重载一下 就好了。
1、获取从页面传过来的参数。
2、把参数添加到Map集合中。
3、进行参数类型的判断和拼接。
4、这样即可用java配置两个参数代码。
首先,手动画一个小乌龟,如下:
然后,按照Java绘图基本步骤一步步来。
swing 编程步骤:
1. 继承JFrame
2. 定义组件
3.创建组件(构造函数)
4.添加组件
5.对窗体设置
6.显示窗体
最终效果如下:
代码如下:
/**
* 功能:画一个乌龟
*/
package com.test1;
import java.awt.*;
import javax.swing.*;
public class MyTortoise extends JFrame{
MyPanel2 mp = null;
//构造函数
public MyTortoise(){
mp = new MyPanel2();
this.add(mp);
this.setTitle("小乌龟,丑丑哒");
this.setSize(400,300);
this.setVisible(true);
this.setLocation(300,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
MyTortoise mtg = new MyTortoise();
}
}
//我的面板。只有JPanel有画图方法,JFrame没有,故必须在JFrame中添加JPanel
class MyPanel2 extends JPanel{
//定义一个乌龟
Tortoise t = null;
//构造函数
public MyPanel2(){
t = new Tortoise(100,100);
}
//画乌龟
public void drawTortoise(int x, int y, Graphics g){
//1.画脸
g.setColor(Color.green);
g.fillOval(x+60, y, 30, 15);
//2.画左眼
g.setColor(Color.black);
g.fillOval(x+65, y+3, 5, 5);
//3.画右眼
g.fillOval(x+78, y+3, 5, 5);
//4.画脖子
g.setColor(Color.green);
g.fillOval(x+70, y, 10, 42);
//5.画乌龟壳
g.setColor(Color.red);
g.fillOval(x+40, y+40, 70, 100);
//6.画左上脚
g.setColor(Color.green);
g.fillOval(x+15, y+60, 30, 10);
//7.画右上脚
g.fillOval(x+105, y+60, 30, 10);
//8.画左下脚
g.fillOval(x+15, y+110, 30, 10);
//9.画右下脚
g.fillOval(x+105, y+110, 30, 10);
//10.画尾巴
g.setColor(Color.black);
g.drawLine(x+70,y+140,x+130,y+210);
g.drawOval(x+95, y+150, 30, 30);
}
//覆盖JPanel的paint方法
//Graphics 是绘图的重要类。你可以把他理解成一只画笔
public void paint(Graphics g){
//1.调用父类函数完成初始化任务
//这句话不能少
super.paint(g);
//2.画乌龟,调用方法即可
this.drawTortoise(50, 50, g);
}
}
//定义一个乌龟类
class Tortoise {
//表示乌龟的横坐标
int x = 0;
//表示乌龟的纵坐标
int y = 0;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Tortoise(int x, int y){
this.x = x;
this.y = y;
}
}
public class Student{
private String name;
private String studentNo;
private float score;
//get方法
//set方法
public static void main(String[] args){
//你可以用学生数组或者ListStudent来存数据
//我示范一下用数组存数据的 当然你用list来存的话 后面的比较 更加简单 只需要
//实现一个比较器即可
Student[] students = new Student[2]
Student a =new Student();
a.setName("a");
a.setStudentNo("001");
a.setScore(98);
students[0]=a;
Student b = new Student();
b.setName("b");
b.setStudentNo("002");
b.setScore(87);
sudents[1] = b;
。。。。。。
//然后用冒泡排序根据学生的成绩判断 算法你自己决定 冒泡还是挺好用的
for(int i =0,len =students.length ;ilen;i++){
for(int j=i+1,len;=students.length;jlen;j++){
if(students[i].getScore()students[j].getScore()){
Student temp =students[i];
students[i] = students[j];
students[j]=temp;
}
}
}
///最后输出结果
for(){
System.out.println();
}
}
首先用vim 在linux下编写一个名为Test.java的文件,代码如下:
class Test{ public static void main(String []args){ System.out.println("test input main arguments"); System.out.println(args[0]+" "+args[1]); System.out.println("end of main"); } }
代码很简单,只有一个main函数用来输出我输入的前两个参数,注意前两个参数如果不输入会抛数组越界 的异常。
vim编辑完后按esc进入命令模式,然后shift+ZZ保存并退出。然后通过javac Test.java 即可对该文件进行编译,编译会可以看到在该目录下生成了一个Test.class文件。
编译时没有抛出异常说明代码成功编译,接下来看看怎么运行吧,其实也很简单,就通过如下命令即可:
java Test hello world
输出结果是:
test input main arguments
hello world
end of main
是不是很简单,赶快打开电脑实践一下吧!
public class Vehicle {
private double speed;
private int power;
public double getSpeed() {
return speed;
}
public void setSpeed(double speed) {
this.speed = speed;
}
// 将参数p的值赋值给成员变量power
public void setPower(int p){
this.power = p;
}
public int getPower() {
return power;
}
//将参数s的值与成员变量speed的和赋值给成员变量speed
public double speedUp(int s) {
return this.speed = s + this.getSpeed();
}
//将成员变量speed与参数d的差赋值给成员变量speed
public double speedDown(int d) {
if(this.getSpeed() d) {
return 0;
}
return this.speed = this.getSpeed() - d;
}
}
public class User {
public static void main(String[] args) {
// 每个对象都会提供一个默认的空构造方法。
Vehicle car1 = new Vehicle();
Vehicle car2 = new Vehicle();
car1.setPower(128);
car2.setPower(76);
System.out.println("car1的功率是:"+car1.getPower( ) );
System.out.println("car2的功率是:"+car2.getPower( ) );
//car1调用speedUp( )方法将自己的speed的值增加80
car1.speedUp(80);
//car2调用speedUp( )方法将自己的speed的值增加100
car2.speedUp(100);
System.out.println("car1的速度是:"+car1.getSpeed( ) );
System.out.println("car2的速度是:"+car2.getSpeed( ) );
car1.speedDown(10);
car2.speedDown(20);
System.out.println("car1目前的速度是:"+car1.getSpeed( ) );
System.out.println("car2目前的速度是:"+car2.getSpeed( ) );
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流