public class Student1{ public void showlnfo() { return"我是一名学生";
时间: 2024-10-17 13:15:57 浏览: 22
这是一个简单的Java类`Student1`的例子,它代表了一个名为`Student1`的学生对象。这个类有一个公共方法`showInfo()`,当调用这个方法时,会返回字符串"我是一名学生"。这是多态的一种基础应用,虽然在这个例子中并没有体现继承或接口,但它展示了如何在类中定义并使用一个方法。
在实际的多态场景中,我们可能会有一个父类`Person`,然后`Student1`作为一个子类从`Person`继承,并重写`showInfo()`方法,使得`Student1`实例也能通过`Person`类型的引用调用其特有的信息展示。
```java
public class Person {
// 父类方法
public void showInfo() {
System.out.println("默认的信息");
}
}
public class Student1 extends Person {
@Override
public void showInfo() {
return "我是一名学生";
}
}
// 使用多态示例
Person student = new Student1();
student.showInfo(); // 输出 "我是一名学生"
```
相关问题
public class Student{ private String name; public void setName(char n) { name=n; } public void getName(){ return name; } public static void main(String args){ new Student(); } }
该代码有几个错误,应该如下修改:
1. 在 `setName` 方法的参数类型应该是 `String` 而不是 `char`。
2. `getName` 方法的返回类型应该是 `String` 而不是 `void`。
3. `main` 方法中的参数应该是一个字符串数组,即 `String[] args`。
4. 在 `main` 方法中,创建 `Student` 对象时应该使用 `new Student()`。
正确的代码如下:
```
public class Student {
private String name;
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
public static void main(String[] args) {
Student s = new Student();
}
}
```
这个代码创建了一个 `Student` 类,它有一个私有的 `name` 字段和两个公共方法 `setName` 和 `getName` 来设置和获取 `name` 字段的值。在 `main` 方法中,它创建了一个 `Student` 对象并将其赋值给变量 `s`。
public class Student { private String number;//学号 private String name;//姓名 private String Sex;//性别 private String Class1;//班级 public Student(String number, String name, String Sex,String Class1) {//有参构造方法 this.number =number; this.name = name; this.Sex = sex; this.Class1 = class1; } public String getNumber() { return number; } public void setNumber(String number) { this.number= number; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return Sex; } public void setSex(String Sex) { this.Sex = Sex; } public String getClass1() { return Class1; } public void setClass1(String Class1) { this.Class1 = Class1; } }//添加学生信息的方法 public class void main add (String[] args) if (num > stu.length - 1) { System.out.println("系统成员已满"); return; } Student student = new Student();//创建一个对象,用于接收信息,最后传给数组对象 System.out.println("请输入学号"); String number= in.next(); for (int i = 0; i<num; i++) { while (stu[i].getNumber().equals(number)) { System.out.println("学号输入重复,请重新输入"); number= in.next(); } } student.setNumber(number); System.out.println("请输入姓名"); student.setName(in.next()); System.out.println("请输入性别"); student.setSex(in.next()); System.out.println("请输入班级"); student.setClass1(in.next()); stu[num] = student; num++; System.out.println("添加成功"); } }改错
这段代码存在一些错误,我来帮你找出并改正:
1. `public class void main add (String[] args)` 这一行应该是 `public static void main(String[] args)`,表示这是一个静态的主方法。
2. `if (num > stu.length - 1)`,这里的 `num` 没有定义,应该先定义并初始化为 0。另外,`stu` 数组也没有被定义,需要先定义并初始化。
3. `Student student = new Student();` 这里应该在括号里传入四个参数,分别是学号、姓名、性别和班级。因为 `Student` 类的构造方法需要四个参数。
4. `while (stu[i].getNumber().equals(number))` 这里的 `i` 没有定义,应该使用一个循环来遍历已经添加的学生信息,找出是否已有相同学号的学生。
5. `student.setNumber(number);` 这里应该在输入学号时先判断是否重复,而不是在这里进行判断。
这是修改后的代码:
```
import java.util.Scanner;
public class Student {
private String number;//学号
private String name;//姓名
private String sex;//性别
private String class1;//班级
public Student(String number, String name, String sex, String class1) {//有参构造方法
this.number = number;
this.name = name;
this.sex = sex;
this.class1 = class1;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getClass1() {
return class1;
}
public void setClass1(String class1) {
this.class1 = class1;
}
}
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Student[] stu = new Student[100];
int num = 0;
while (true) {
System.out.println("请输入要执行的操作:");
System.out.println("1.添加学生信息");
System.out.println("2.查看学生信息");
System.out.println("3.退出程序");
int choice = in.nextInt();
if (choice == 1) {
if (num > stu.length - 1) {
System.out.println("系统成员已满");
continue;
}
System.out.println("请输入学号");
String number = in.next();
for (int i = 0; i < num; i++) {
if (stu[i].getNumber().equals(number)) {
System.out.println("学号输入重复,请重新输入");
number = in.next();
i = -1;
}
}
System.out.println("请输入姓名");
String name = in.next();
System.out.println("请输入性别");
String sex = in.next();
System.out.println("请输入班级");
String class1 = in.next();
Student student = new Student(number, name, sex, class1);
stu[num] = student;
num++;
System.out.println("添加成功");
} else if (choice == 2) {
if (num == 0) {
System.out.println("没有学生信息");
continue;
}
System.out.println("学号\t姓名\t性别\t班级");
for (int i = 0; i < num; i++) {
Student student = stu[i];
System.out.println(student.getNumber() + "\t"
+ student.getName() + "\t"
+ student.getSex() + "\t"
+ student.getClass1());
}
} else if (choice == 3) {
System.out.println("程序已退出");
break;
} else {
System.out.println("请输入正确的操作编号");
}
}
}
}
```
阅读全文