重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
java是面向对象的编程语言,一切皆为对象。本题虽然基础,但是特别有代表性。在做这类java编程时也应该引入面向对象的思维。
创新互联是一家专业提供佛山企业网站建设,专注与网站制作、做网站、H5页面制作、小程序制作等业务。10年已为佛山众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
一学生类属性的定义:
1.拥有三个属性,姓名,年龄和专业
姓名,是用文字进行表述的,所以可以使用String 字符串类型
年龄,大家都说18,19岁,一般很少听人说18.725岁,所以我们可以使用int整数类型来表示
专业,也是用文字进行表述的,所以还是用String字符串类型
2. 修饰符:java为了更好的封装,所以属性一般要用private进行修饰,
但是可以用setter对属性进行修改,也可以用getter对属性进行读取
二构造方法的设计
为了符合java开发的规范和习惯,需要添加一个无参数的构造器。
有参数的构造方法,需要对属性进行初始化设置
三方法的设置
除开属性的setter和getter方法外。
符合开发规范,还需要重写toString方法。用于返回字符串
所以我们显示(打印)信息时,也可以直接调用toString返回的字符串,然后打印
四 参考代码和注释
学生类
public class Student {//定义学生类
private String name;//属性 姓名
private int age;//属性 年龄
private String major;//属性 专业
public Student() {//无参数的构造法: 为了符合java开发规范和习惯,添加一个无参构造器
}
public Student(String name, int age, String major) {//有参的构造方法,初始化属性
this.name = name;
this.age = age;
this.major = major;
}
public void ShowInfo(){//显示信息的方法
System.out.println(this);//打印时,自动调用toString方法,把该实例打印出来
}
public String toString() {//重写父类的toString方法,也是符合java规范的
return "【学生】\t姓名:"+name+"\t年龄:"+age+"\t专业:"+major;
}
//下面是属性的get和set方法,getter用于获取属性的值,setter用于设置或修改属性的值
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
}
测试类
public class Test {
public static void main(String[] args) {
Student s1 = new Student("张三", 19, "汉语语言文学");//调用有参数的构造器,创建学生实例
s1.ShowInfo();//显示信息
Student s2 = new Student();//调用无参数的构造器,创建学生实例
s2.setName("李四");//设置属性的值
s2.setAge(20);
s2.setMajor("计算机科学与技术");
s2.ShowInfo();
}
}
测试结果
【学生】 姓名:张三 年龄:19 专业:汉语语言文学
【学生】 姓名:李四 年龄:20 专业:计算机科学与技术
五总结
通过这种基础编程,主要训练我们面向对象的思维,以及养成良好的编程习惯。
下面是一个存储班级三十名学生基本信息的 Java 代码示例:
import java.util.ArrayList;
public class Student {
private String name;
private int age;
private String gender;
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
}
public class Classroom {
private ArrayListStudent students;
public Classroom() {
this.students = new ArrayListStudent();
}
public void addStudent(Student student) {
students.add(student);
}
public ArrayListStudent getStudents() {
return students;
}
}
public class Main {
public static void main(String[] args) {
Classroom classroom = new Classroom();
// 添加 30 名学生的基本信息
classroom.addStudent(new Student("Tom", 18, "Male"));
classroom.addStudent(new Student("Alice", 19, "Female"));
// ...
// 此处省略 28 名学生的信息
// 获取所有学生的信息
ArrayListStudent students = classroom.getStudents();
for (Student student : students) {
System.out.println("Name: " + student.getName());
System.out.println("Age: " + student.getAge());
System.out.println("Gender: " + student.getGender());
}
}
}
该代码定义了两个类:Student 类表示一个学生,包含了学生的姓名、年龄和性别等信息;Classroom 类表示一个班级,包含了一个学生的列表,并提供了添加学生和获取学生列表的方法。
在 Main 类的 main 方法中,我们首先实例化一个 Classroom 对象,然后依次添加 30 名学生的信息。最后,我们调用 getStudents 方法获取所
import java.util.ArrayList;
import java.util.Scanner;import com.sun.org.apache.xpath.internal.Arg;
public class Student {
//两个私有属性
private int no ;
private String name ;
//默认构造函数
public Student(){}
//带参构造函数
public Student(int no,String name){
this.no=no;
this.name=name;
}
//添加学生信息
public void addStudentInfo(ArrayList list){
String flag1="yes";
do{
Student student=new Student();
Scanner in =new Scanner(System.in);
System.out.println("请输入学生学号:");
student.setNo(in.nextInt());
System.out.println("请输入学生姓名:");
student.setName(in.next());
list.add(student);
System.out.println("是否继续添加学生信息(yes/no)?");
flag1=in.next();
} while(flag1.equals("yes"));
}
//读取学生信息
public void showStudentInfo(ArrayListStudent list){
System.out.println(" 学生no: "+" 学生name: ");
for(Student student:list){
System.out.println(" "+student.getNo()+" "+student.getName());
}
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static void main(String arg[]) {
ArrayListStudent studentList= new ArrayListStudent();
Student student= new Student();
Scanner inn= new Scanner(System.in);
while(true){
System.out.println("----------------- 欢迎使用学生管理系统------------------");
System.out.println("1.输入学生信息");
System.out.println("2.显示学生信息");
System.out.println("0.退出系统");
System.out.println("请选择....");
int nn= inn.nextInt();
switch (nn) {
case 1:
student.addStudentInfo(studentList);
break;
case 2:
System.out.println("学生信息如下:");
student.showStudentInfo(studentList);
break;
case 0:
System.exit(0);
System.out.println("系统退出!");
break;
default:
break;
}
}
} }
public class Student {
private String name;//姓名
private String cjkc;//参加课程
private int age;//年龄
private String interest;//兴趣
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCjkc() {
return cjkc;
}
public void setCjkc(String cjkc) {
this.cjkc = cjkc;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getInterest() {
return interest;
}
public void setInterest(String interest) {
this.interest = interest;
}
public Student(){
System.out.println("姓名:"+getName());
System.out.println("年龄:"+getAge());
System.out.println("参加课程:"+getCjkc());
System.out.println("兴趣爱好:"+getInterest());
}
}