在Java中为什么需要对象才能在同一类的主函数中调用一个函数,但对于不是main的其他函数却没有对象?

问题描述 投票:0回答:2

我想举个例子

1 public class Ticket
    2 {
    3     private int ticketid;
    4     private  int price;
    5     private  int availableTickets;
    6     public void setTicketid(int ticketid)
    7     {
    8         this.ticketid=ticketid;
    9     }
   10     public void setPrice(int price)
   11     {
   12         this.price=price;
   13         
   14     }
   15     public  void setAvailableTickets(int availableTickets)
   16     {
   17         if(availableTickets>0)
   18         {
   19             this.availableTickets=availableTickets;
   20         }
   21     }
   22     public int getTicketid()
   23     {
   24         return ticketid;
   25     }
   26     public int getPrice()
   27     {
   28         return price;
   29     }
   30     public  int getAvailableTickets()
   31     {
   32         return availableTickets;
   33     }
   34     public int calculateTicketCost(int nooftickets)
   35     {
   36         
   37         int at=getAvailableTickets();
   38         int ans;
   39         int p;
   40         if(nooftickets<at)
   41         {
   42             at=at-nooftickets;
   43             setAvailableTickets(at);
   44              p=getPrice();
   45             System.out.println(p+"p");
   46             ans=nooftickets*p;
   47             return ans;
   48             
   49         }
   50         else
   51         {
   52             return -1;
   53         }
   54     }
   55 }

我们如何使用1.getAvailableTickets()2.setAvailableTickets()3.getPrice()在calculateTicketCost()函数中没有任何对象。但是如果它是主要方法而不是calculateTicketCost()函数,我们将使用一个对象来使用这三个函数。

请告诉我为什么这里不使用该对象,tysm

java oop getter-setter
2个回答
0
投票

因为主方法在类之外,所以您必须创建该类的实例,您可以使用该实例访问该类的方法

并且如果您的主要方法在类内,则可以在不创建对象的情况下使用主要方法中的方法,但是您的方法必须为static

也请检查此Java OOP


0
投票

static方法存在于无对象的“无此”环境中。您只能使用静态变量,方法参数和其他静态方法。 非静态方法具有对象/数据上下文。

使用对象方法的示例:您有一个Employee方法。该员工的姓名,ID等特定于该员工。

静态方法的示例:将角度从度转换为弧度。此方法不需要上下文-仅需要一个度数参数

© www.soinside.com 2019 - 2024. All rights reserved.