- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道是否有人可以告诉我为什么我在第 175 行收到错误
Student george= new Student("George Flintstone", 21, "Politics", 3.1);
这表示没有可访问的 person 类型的封闭实例。我浏览过其他类似的问题,但我对java不太熟悉,所以我没有真正找到答案,至少是我足够理解的答案。这是我的 java 入门课的作业。我没有在常见问题解答中看到任何内容说我不能寻求家庭作业方面的帮助,但我承认我没有仔细阅读它,所以如果我违反了某些规则或其他规则,请告诉我。
另外,很抱歉发布了这么多代码,我不确定其中的哪些部分可能很重要。
Public class Person {
String name;
int age;
public Person(String n, int a)
{
name = n;
age = a;
}
public Person()
{
name = "Bob";
age = 24;
}
public void set_Person(String n)
{
name = n;
}
public void set_Person(int a)
{
age = a;
}
public void set_Person(String n, int a)
{
name = n;
age = a;
}
public String get_Name()
{
return name;
}
public int get_Age()
{
return age;
}
public boolean equals(Object ob)
{
Person p = (Person)ob;
if(ob == null)
return false;
if(name.equals(p.name) && age == p.age)
return true;
else
return false;
}
public String toString()
{
String temp = name + " is " + age + " years old ";
return temp;
}
class Student {
String major;
double gpa;
Person p = new Person();
Student(String n, int a, String m, double g )
{
p.set_Person(n,a);
major = m;
gpa = g;
}
Student()
{
p.set_Person("Ben", 10);
major = "compsci";
gpa = 3.5;
}
public void set_Student(String n, int a, String m, double g)
{
p.set_Person(n,a);
major = m;
gpa = g;
}
public void set_Student(String n)
{
p.set_Person(n);
}
public void set_Student(int a)
{
p.set_Person(a);
}
public String getStudentName()
{
String temp = p.get_Name();
return temp;
}
public int getStudentAge()
{
return p.get_Age();
}
}
class Family {
Person [] per_array;
int person_count = 0;
Person temp = new Person();
Family(int members)
{
Person[] per_array = new Person[members];
}
public void addPerson(Person p)
{
boolean check = false;
for(int count = 0; count < per_array.length; count++){
if(per_array[count].equals(p))
{
System.out.println("That person is already a member of this family");
check = true;
}
}
if(check = false){
per_array[person_count] = p;
person_count++;
}
}
public void addPerson(Student s)
{
temp.set_Person(s.getStudentName(), s.getStudentAge());
boolean check = false;
for(int count = 0; count < per_array.length; count++){
if(per_array[count].equals(temp))
{
System.out.println("That person is already a member of this family");
check = true;
}
}
if(check = false){
per_array[person_count] = temp;
person_count++;
}
}
public void printOutFamily()
{
for(int count = 0; count < per_array.length; count++)
{
per_array[count].toString();
}
}
}
public static void main(String[] args) {
Person fred= new Person("Fred Flintstone", 50);
System.out.println("created " + fred);
Person wilma = new Person("Wilma Flintstone", 48);
Student george= new Student("George Flintstone", 21, "Politics", 3.1);
System.out.println("created " + george);
Student sue= new Student("Sue Flintstone", 24, "Nursing", 3.3);
Student anotherGeorge= new Student("George Flintstone", 21, "Math", 3.4);
Person yetAnotherGeorge= new Person("George Flintstone", 21);
Family f = new Family(10);
f.addPerson(fred);
f.addPerson(wilma);
f.addPerson(george);
f.addPerson(sue);
f.addPerson(anotherGeorge);
f.addPerson(yetAnotherGeorge);
anotherGeorge.set_Student("Georgie Flintstone");
f.addPerson(anotherGeorge);
f.printOutFamily();
}
}
最佳答案
Student
是一个内部类,与 Person
的特定实例关联,这意味着调用是无效的
new Student("George Flintstone", 21, "Math", 3.4);*
使内部类静态
将允许它工作。静态内部类(也称为嵌套类)不需要外部类(此处为 Person
)的实例。
关于java - 无法访问 Person 类型的封闭实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15915769/
Person 是一个以 Parent 作为其子类的类。 考虑以下 2 个陈述: Person person = new Parent(); 父parent=(父)人; 第二个语句将 person 对象
像这样,我有一个对象: { 'person': { 'like': { 'color': 'red', 'food': 'rice' }, 'nam
对于下面的代码,我想知道为什么 Object.getPrototypeOf(person) 可以工作,但 person.getPrototypeOf(person) 不起作用?我认为规则是:如果对象没
我有 3 个 java 源文件。 Person.java FriendsList.java MyFriends.java FriendsList包含 Person 类型对象的数组列表以及将新 frie
我想我理解错误消息的意思,我有一个人,并试图将它转换为 HashMap,但这不是代码所说的?我不明白我做错了什么。当我阅读代码时,我没有发现任何问题..我已经坚持了一段时间了。如果我错过了一些基本的东
我知道以前在类似情况下曾有人问过这个问题,但是我是 C++ 的新手,无法弄清楚需要做什么或为什么必须这样做。基本上,我使用的是我创建的具有变量名称、年龄、高度和体重的 Person 对象。我需要对我创
我正在尝试编写从文件读取并添加到二叉树的程序,但是当我尝试编译时出现错误: "Error 1 'treePersons::display' : cannot convert parameter 1 f
我明白了 error: could not convert 'p1' from 'Person (*)()' to 'Person' 每当我使用默认构造函数时(当我创建 Person p1 时),我知
假设我有一个非常简单的类 Person,其中包含姓名和地址: public class Person { String name; String address; public
所以我刚开始学习 Crystal,因为我喜欢 Ruby 和 C,但我还不能掌握语法。我想我已经很接近了,但我被这个错误困住了。 没有重载匹配 Person 类型的 'Array(Person)#+'
我理解前两个陈述。但是,对于第三种说法,我想不通人是什么类型的人? IEnumerable(person) 还是 List(person)?我假设幕后有转换。有人可以解释一下语句 3 中使用了哪些技术
我有两个外部电话 这给出了 Future[Seq[People]] 它接受 person_id 并返回 person_status 作为 Future[String] 我需要使用第一个调用中可用序列中
在 HP Probook 4540S 笔记本(Win 7Prof 64 位)上安装 Delphi XE3 后,我在编译时遇到问题,该项目是一个空的 VCL 项目,表单上没有任何组件。起初,我收到“无效
我有类人: class Person{ private String name; public Person(String name) { this.name = na
我在尝试实现我的程序时遇到链接器错误 undefined reference to Person::Person。三个部分如下。我一直在努力修复它几个小时。我知道这可能很简单,只是我没有看到。但是我在
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
In function 'int main()': 41 14 [Error] no match for 'operator=' (operand types are 'Person' a
有没有XXXUtils我在哪里可以做 String s = XXXUtils.join(aList, "name", ","); 哪里"name"是 aList 中对象的 JavaBeans 属性.
我不知道以前有没有人问过这个问题,因为英语不是我的母语,我也不知道要搜索的关键字。 所以基本上我有以下输入元素, 我想将名称分成 3 个部分,例如 ["person", "0", "email"]。
我正在比较本地计算机中的证书,MMC.exe 允许我查看“当前用户”和“计算机”的证书。 我不明白为什么会有两个“个人”商店。有人可以解释为什么有两个,以及它们如何相互作用吗? 很高兴知道为什么其他文
我是一名优秀的程序员,十分优秀!