这个JAVA程序编译之后报错颇多,谁帮我改改!
解决时间 2021-05-02 08:08
- 提问者网友:爱唱彩虹
- 2021-05-01 17:01
public class Testovermethod {
public Testovermethod() {
}
//父类 Person
class People{
String name;
int age;
int getAge(){
return age;
}
void setAge(int i){
age=i;
}
String getName;
}
void setName(String str){
name=str;
}
public String getInfo(){
return"Name:"+name+"\n"+"age:"+age;
}
}
//子类 Student
class Student extends Person{
String Univ;
String getUniv(){
return Univ;
}
void setuniv(String str){
Univ = str;
}
public String getInfo(){
return "Name:"+name+"\nage:"+age+"\nUniversity:"+Univ;
}
}
public class Testovermethod{
public static void main(String[]args)
{Student bini=new Student ();
bini.setAge(19);
bini.setName("doudou");
bini.setUniv("Tshinghua University");
System.out.println(bini.getInfo());
}
}
最佳答案
- 五星知识达人网友:酒醒三更
- 2021-05-01 17:28
1.首先,前三行是什么,请删除掉
2.父类注释都说Person,并且Student也继承了Person,为什么Person类,类名却是People?请改为class Person
目测应该就只有这几个地方有问题。
全部回答
- 1楼网友:长青诗
- 2021-05-01 21:32
//public class Testovermethod
//{
// public Testovermethod() {
//
// }
// 此处定义类无效,首先没有程序入口main方法,其次充分定义类导致错误
//父类 Person
class People
{
String name;
int age;
int getAge()
{
return age;
}
void setAge(int i)
{
age=i;
}
String getName;
// }//此处括号多余,导致下面的setname、getinfo方法不能正常使用
void setName(String str)
{
name=str;
}
//}此处的括号也多余
public String getInfo()
{
return"Name:"+name+"\n"+"age:"+age;
}
}
//}此处括号多余
//子类 Student
class Student extends People{//person这个类没有定义,应该改成People
String Univ;
String getUniv()
{
return Univ;
}
void setuniv(String str)
{
Univ = str;
}
public String getInfo()
{
return "Name:"+name+"\nage:"+age+"\nUniversity:"+Univ;
}
}
public class Testovermethod
{
public static void main(String[]args)
{
Student bini=new Student ();
bini.setAge(19);
bini.setName("doudou");
bini.setuniv("Tshinghua University");//此处书写错误,注意大小写
System.out.println(bini.getInfo());
}
}
public class Person {
protected String name;
protected int age;
public int getAge(){
return age;
}
public void setAge(int i){
age=i;
}
String getName;
public void setName(String str){
name=str;
}
public String getInfo(){
return"Name:"+name+"\n"+"age:"+age;
}
}
public class Testovermethod {
private Person Person;
public Testovermethod() { }
public Person getPerson() {
return Person;
}
public void setPerson(Person person) {
Person = person;
}
}
public class Student extends Person {
String Univ;
String getUniv(){
return Univ;
}
public void setuniv(String str){
Univ = str;
}
public String getInfo(){
return "Name:"+name+"\nage:"+age+"\nUniversity:"+Univ;
}
}
public class Test {
public static void main(String[]args)
{Student bini=new Student ();
bini.setAge(19);
bini.setName("doudou");
bini.setuniv("Tshinghua University");
System.out.println(bini.getInfo());
}
}
感觉你的有点乱 重新写了下
字段或方法前面一般加个访问修饰符会好点
不加默认的default 只能在当前类中使用
在其它类中是不能直接调用的
前三行没用,删掉
//父类 Person
class People{
String name;
int age;
int getAge(){
return age;
}
void setAge(int i){
age=i;
}
void setName(String str){
name=str;
}
String getName(String str){ //这里给你写全了
return name;
}
public String getInfo(){
return"Name:"+name+"\n"+"age:"+age;
}
}
//子类 Student
class Student extends People{ //这里继承的是People,你写错了
String Univ;
String getUniv(){
return Univ;
}
void setUniv(String str){
Univ = str;
}
public String getInfo(){
return "Name:"+name+"\nage:"+age+"\nUniversity:"+Univ;
}
}
class Testovermethod{
public static void main(String[]args){
Student bini=new Student ();
bini.setAge(19);
bini.setName("doudou");
bini.setUniv("Tshinghua University"); //这里和你的方法名不一致,原来是setuniv,但是你调用的却是大写
System.out.println(bini.getInfo());
}
}
还有很多花括号匹配都不正确,你代码要写的规范点,什么作用的代码块要分开,仔细一点a
我要举报
大家都在看
推荐资讯