当我尝试访问类中的m.name = "killer"
时,无法找到变量错误。请帮忙。
class Movie {
String name;
String genre;
int num;
public void play()
{
System.out.println("start playing");
}
}
public class MovieObjects{
public static void main(String[] args) {
MovieObjects m = new MovieObjects ();
{
m.name="Killer";
m.genre = "Romance";
}
}
}
答案 0 :(得分:5)
m
是MovieObjects
,其中没有name
字段。
您的意思是Movie
吗?
此外,如果您想从其他课程访问这些字段,则应填写字段public
(虽然在同一个包中实际上并不需要)
答案 1 :(得分:1)
您的Movie
班级具有这些属性,MovieObjects
没有。你在找
Movie m = new Movie();
而不是
MovieObjects m = new MovieObjects ();
答案 2 :(得分:0)
class Movie {
String name;
String genre;
int num;
public void play()
{
System.out.println("start playing");
}
}
public class MovieObjects{
public static void main(String[] args) {
Movie m = new Movie();
{
m.name="Killer";
m.genre = "Romance";
}
}
}
答案 3 :(得分:0)
name和genre是Movie class的变量。如果你想访问它们,那么创建一个Movie对象并访问它们。
答案 4 :(得分:0)
MovieObjects 类中没有实例变量名称。你的代码毫无意义。 这是正确的代码。
public class Movie
{
public String name;
public String genre;
public int num;
public void play()
{
System.out.println("start playing");
}
}
public class MovieObjects
{
public static void main(String[] args)
{
Movie m = new Movie();
m.name="Killer";
m.genre = "Romance";
}
}
但请注意,这是错误的方式来处理实例变量。您的实例变量必须定义为私有,并且只能通过 getter 和 setter 方法进行更改。
答案 5 :(得分:0)
首先,“名称”和“类型”在Movie类中定义而不是MovieObject类。因此,尝试从MovieObject的对象访问它们会导致“无法找到符号”编译错误。改变这一行:
MovieObjects m = new MovieObjects ();
到
Movie m = new Movie();
其次,两个赋值语句的大括号是多余的。可以删除:
Movie m = new Movie();
{
m.name="Killer";
m.genre = "Romance";
}
应改为
Movie m = new Movie();
m.name="Killer";
m.genre = "Romance";
第三,考虑使用setter和getter方法来访问成员变量。