java - 如何从一个类调用另一个类的构造函数?

标签 java class oop constructor

我正在学习 Java 中的 OOP。我正在尝试调用另一个构造函数来输入消息。感谢您的帮助。这是我的代码:

import java.util.Scanner;

class Sample {
    private String User;
    private int ID;

    public Sample(String user) {
        Scanner sc = new Scanner(System.in);
        User = user;
        ID = 0;
        User = sc.nextLine();
        ID = sc.nextInt();
    }//CONSTRUCTOR

}//Sample

public class Sample_2 {
    private Sample user1, user2, user3;

    public Sample_2() {
        user1 = new Sample();   //FROM HERE I WANT TO CALL THE OTHER CONSTRUCTOR ABOVE.
        user2 = new Sample();
        user3 = new Sample();
    }//CONSTRUCTOR

    public static void main(String args[]){

    }//main

}//Sample_2

最佳答案

Sample 没有默认构造函数(即没有参数),因此您需要添加一个,如下所示:

class Sample{

    private String User;
    private int ID;

    public Sample() {
        /* something */
    }

    public Sample(String user){
        // ...

使用带有String参数的参数,如下所示:

public Sample_2(){
   user1 = new Sample("some string"); 
   // ...

有关阅读,请参阅此 tutorial关于构造函数

关于java - 如何从一个类调用另一个类的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26566950/

相关文章:

python - 有没有办法将 __len__ 或 __eq__ 等方法实现为类方法?

php - 我应该如何开始使用基于 PHP zend 框架 OOP 的网站

C++ 使用 scoped_ptr 作为成员变量

java - 使用setter getter类通过MVC模型将数据插入数据库

java - 如何在 Maven 中包含/引用 jackson-all.jar

java - 扩展 "Dynamic Web Project"向导

java - Spark SQL Java - 无法创建嵌套 Row 对象

c++ - 对存储在列表中的对象使用类函数,通过迭代器访问

php - spl_autoload_register() 在不同目录中

java - 多个 fragment 需要位置更新