【问题标题】:using two classes in java在java中使用两个类
【发布时间】:2021-03-08 11:37:08
【问题描述】:

我正在尝试使用两个类会员类网站类相互交谈。我想使用 Member 类 中的 setloggedInStatus() 方法中的代码,并能够在 memberLogin() 中使用它网站类中的方法。我使用了Member memberObject = new setloggedInStatus(); 代码,但它给了我一个错误。

我将不胜感激。提前致谢

网站类

public class Website
{
    // declaration of vars 
    private String websiteName;
    private int hits; 
    private double salesTotal; 
    

    /**
     * Constructor for objects of class Website
     */
    public Website(String websiteName)
    {
        // initialise instance variables
         this.websiteName = websiteName;  
    }
    
   
    Member memberObject = new setloggedInStatus(); 
 
   public void memberLogin() {
       
    
    
    }
}

会员等级

public class Member
{
    // varibales declaration 
    private String email;  
    private int membershipNumber; 
    private boolean loggedInStatus; 

    /**
     * Constructor for objects of class Member
     */
    public Member(String memberEmail, int newMembershipNumber )
    {
        // initialise instance variables
        email = memberEmail;
        membershipNumber = newMembershipNumber;
    }

    //loggedInStatus method
    public void setloggedInStatus() {
    if (email != null && membershipNumber != 0) {
        loggedInStatus = true;
        System.out.println("you are logged in ");
         
    } 
    
    else {
        loggedInStatus = false;
        System.out.println("you are not logged in");
    }
}
    
  
    }


【问题讨论】:

  • 我们不实例化方法,我们实例化类并调用其成员方法
  • 如果你想创建一个作为Member类实例的对象,你应该调用Member构造函数。您不会使用 new 关键字调用 setter。

标签: java bluej


【解决方案1】:

如果您想在类网站中使用会员的功能,您需要通过网站文件顶部的import Member 导入它(取决于它们是否在同一个文件夹/包中)。这将使它在文件中可用。

然后您可以通过Member member = new Member(params go here); 创建一个新的成员对象

然后,您可以从创建的 member 对象中调用 Member 类中包含的方法,例如 member.setLoggedInStatus();

编辑:这回答了你的问题吗?

【讨论】:

  • 如果类在同一个包中,则不需要导入实例
  • @adilos 你是对的,我相应地编辑了答案
【解决方案2】:

如果网站类和成员类在同一个包中,你必须像这样创建一个成员对象:

String email = "Example@examplemail.com";
int id = 3; //Example id
Member the_member = new Member(email,3);

如果您想调用 public void setloggedInStatus() 方法,您可以简单地对之前创建的对象执行以下操作:

the_member.setloggedInStatus();

如果两个类不在同一个包中,则必须导入类成员

import Member

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    相关资源
    最近更新 更多