【Java每日一题】— —第二十二题:类名作参数进行方法调用的传递问题。

简介: 【Java每日一题】— —第二十二题:类名作参数进行方法调用的传递问题。

🎯问题:


类名作参数进行方法调用的传递问题。


形式参数的问题:


      (1)基本类型:形式参数的改变不影响实际参数。实参应该有确定的值,且其值的数据类型级别不能高于对应的形参数据类型的级别,参数的传递相当于赋值语句,即实参的值赋给形参。


      (2)引用类型:形式参数的改变直接影响实际参数。参数的传递相当于赋值语句,实参的地址赋给形参,使得形参和实参指向同一个堆内存空间。


      (3)如果你看到一个方法需要的参数是一个类名或者接口名,就应该知道这里实际需要的是一个具体的对象。


🎯答案:

public class ArgsTest {
 
  public static void main(String[] args) {
    int a = 10;
    int b = 20;
    Demo d = new Demo();
    int result = d.sum(a, b);// 基本类型作参数传递
    System.out.println(result);
    System.out.println("---------------------------");
    StudentDemo sd = new StudentDemo();
    Student s = new Student();
    sd.method(s);            // 引用类型作参数传递
  }
}
//形式参数是基本类型
class Demo {
  public int sum(int a, int b) {
    return a + b;
  }
}
//Student是一个引用类型,相当于基本类型中的某个类型,比如int
class Student {
  public void show() {
    System.out.println("我们爱Java!");
  }
}
//形式参数是引用类型
class StudentDemo {
  public void method(Student s) {
    s.show();
  }
}
相关文章
|
2月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
179 57
|
1月前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
2月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
83 8
|
2月前
|
安全 Java
Java中WAIT和NOTIFY方法调用时机的深层解析
在Java多线程编程中,`wait()`和`notify()`方法的正确使用对于线程间的协调至关重要。这两个方法必须在同步块或同步方法中调用,这一规定的深层原因是什么呢?本文将深入探讨这一机制。
58 5
|
2月前
|
Java
实现java执行kettle并传参数
实现java执行kettle并传参数
38 1
|
2月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
2月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
149 4
|
2月前
|
Java
在Java中定义一个不做事且没有参数的构造方法的作用
Java程序在执行子类的构造方法之前,如果没有用super()来调用父类特定的构造方法,则会调用父类中“没有参数的构造方法”。因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用super()来调用父类中特定的构造方法,则编译时将发生错误,因为Java程序在父类中找不到没有参数的构造方法可供执行。解决办法是在父类里加上一个不做事且没有参数的构造方法。
|
2月前
|
Java Android开发
Eclipse 创建 Java 类
Eclipse 创建 Java 类
36 0
|
20天前
|
监控 Java
java异步判断线程池所有任务是否执行完
通过上述步骤,您可以在Java中实现异步判断线程池所有任务是否执行完毕。这种方法使用了 `CompletionService`来监控任务的完成情况,并通过一个独立线程异步检查所有任务的执行状态。这种设计不仅简洁高效,还能确保在大量任务处理时程序的稳定性和可维护性。希望本文能为您的开发工作提供实用的指导和帮助。
82 17