理解java中的类
所以我对这个概念有点困惑 在不首先实例化的情况下调用的类的实例方法 物件 这在java中是如何工作的?我必须实例化一个对象,这样才能调用该对象上的方法 例如,下面是我的课程理解java中的类,java,class,conceptual,Java,Class,Conceptual,所以我对这个概念有点困惑 在不首先实例化的情况下调用的类的实例方法 物件 这在java中是如何工作的?我必须实例化一个对象,这样才能调用该对象上的方法 例如,下面是我的课程 public class Date{ public String month; public int day; public int year; public void writeOutput() { System.out.println("To
public class Date{
public String month;
public int day;
public int year;
public void writeOutput()
{
System.out.println("Today is : " + this.month + " " + this.day + " , " + this.year);
}
}
public class DateTest{
public static void main(String[] yolo){
Date today;
today = new Date();
today.month = "January";
today.day = 31;
today.year = 2015;
today.writeOutput();
}
}
因此,我必须先实例化某个日期?我可以在不实例化某种“日期”对象的情况下调用实例方法吗 关于:
因此,我必须先实例化某个日期?我可以在不实例化某种“日期”对象的情况下调用实例方法吗
对。要调用Date的实例方法,必须首先创建一个Date对象,这是您当前在main方法中执行的操作
Date today; // declare Date variable today
today = new Date(); // create instance and assign it to today
注意,您的代码直接操纵日期字段,这是应该避免的。关于:
因此,我必须先实例化某个日期?我可以在不实例化某种“日期”对象的情况下调用实例方法吗
对。要调用Date的实例方法,必须首先创建一个Date对象,这是您当前在main方法中执行的操作
Date today; // declare Date variable today
today = new Date(); // create instance and assign it to today
注意,您的代码直接操纵日期字段,这是应该避免的。语句
today=newdate()代码>实例化类日期
的实例,并将该实例的引用分配给变量今天
它允许通过today
变量引用实例变量和方法。如果没有实例,这些成员将不存在。语句today=newdate()代码>实例化类日期
的实例,并将该实例的引用分配给变量今天
它允许通过today
变量引用实例变量和方法。如果没有实例,这些成员将不存在。是的,您可以使用静态字段和工厂方法调用方法,而无需实例化
public class Date{
public static String month;
public static int day;
public static int year;
public static void writeOutput()
{
System.out.println("Today is : " + this.month + " " + this.day + " , " + this.year);
}}
然后您可以执行以下操作:
Date.month = "January";
Date.day = 1;
Date.year=2015;
Date.writeOutput();
这样您就不需要实例化。然而,这不一定是好的做法。如果您不需要类变量,而是将必要的参数传递给方法,那么静态工厂方法是很好的。例如:
public class Date
{
public void writeOutput(String year, int day, int month)
{
System.out.println("Today is : " + month + " " + day + " , " + year);
}
}
然后你可以打电话
Date.writeOutput("January", 1, 1);
是的,您可以使用静态字段和工厂方法调用方法,而无需实例化
public class Date{
public static String month;
public static int day;
public static int year;
public static void writeOutput()
{
System.out.println("Today is : " + this.month + " " + this.day + " , " + this.year);
}}
然后您可以执行以下操作:
Date.month = "January";
Date.day = 1;
Date.year=2015;
Date.writeOutput();
这样您就不需要实例化。然而,这不一定是好的做法。如果您不需要类变量,而是将必要的参数传递给方法,那么静态工厂方法是很好的。例如:
public class Date
{
public void writeOutput(String year, int day, int month)
{
System.out.println("Today is : " + month + " " + day + " , " + year);
}
}
然后你可以打电话
Date.writeOutput("January", 1, 1);
这是我的评论:
如果狗不存在,你能让它吠叫吗?(而且只有
狗是存在的)。现在想象一下,把狗当作一个班级,
吠叫是一种方法,雷克斯是狗的一个例子。所以是的,你需要
实例化一个类(Dog Rex=new Dog();)以使用方法
(雷克斯树皮()。当然,您可以使用静态方法来
做一些像Dog.bark()的事情,但这不是真正的OOP
这是我的评论:
如果狗不存在,你能让它吠叫吗?(而且只有
狗是存在的)。现在想象一下,把狗当作一个班级,
吠叫是一种方法,雷克斯是狗的一个例子。所以是的,你需要
实例化一个类(Dog Rex=new Dog();)以使用方法
(雷克斯树皮()。当然,您可以使用静态方法来
做一些像Dog.bark()的事情,但这不是真正的OOP
字符串a=新卡()代码>毫无意义。它是一根绳子还是一张卡片?请尽量澄清您的问题。关于这个“概念”:“所以我对“在不首先实例化对象的情况下调用类的实例方法”的概念有点困惑。”。“
——忽略它,因为它不是一个有效的概念。只能对实例调用实例方法。我认为更好的说法是,在调用实例方法之前,是否必须实例化一个对象?假设你引用了一条错误消息,那么这类似于“你试图post
,但你还没有字母
(或者没有说你想发布哪个字母)”如果狗不存在,你能让它吠叫吗?(只有狗的概念存在)。现在想象一下,dog是类,bark是方法,Rex是dog的实例。因此,是的,为了使用方法(Rex.bark()),您需要实例化一个类(Dog Rex=new Dog();)。当然,您可以使用静态方法来执行Dog.bark()之类的操作,但这并不是真正的OOP代码>毫无意义。是字符串还是卡片?请尽量澄清您的问题。关于这个“概念”:“所以我对“在不首先实例化对象的情况下调用类的实例方法”的概念有点困惑。”。“
——忽略它,因为它不是一个有效的概念。只能对实例调用实例方法。我认为更好的说法是,在调用实例方法之前,是否必须实例化一个对象?假设你引用了一条错误消息,那么这类似于“你试图post
,但你还没有字母
(或者没有说你想发布哪个字母)”如果狗不存在,你能让它吠叫吗?(只有狗的概念存在)。现在想象一下,dog是类,bark是方法,Rex是dog的实例。因此,是的,为了使用方法(Rex.bark()),您需要实例化一个类(Dog Rex=new Dog();)。当然,您可以使用静态方法来执行Dog.bark()之类的操作,但这并不是真正的OOP。我想我还没有学习过静态字段和工厂方法。我不确定是什么