javarecord类(用java创建一个学生类,包括学号,姓名,成绩,然后构造方法,初始化,输出学生的基本信息)

本文目录
- 用java创建一个学生类,包括学号,姓名,成绩,然后构造方法,初始化,输出学生的基本信息
- java对象和类的一个程序
- 如何将表单信息传递javabean封装的查询数据库的类来提取想要的信息
- java中调用其他类的方法,除了实例化该类的对象后调用,有没有别的办法
- java treeset和hashset如何判断元素是否相同
用java创建一个学生类,包括学号,姓名,成绩,然后构造方法,初始化,输出学生的基本信息
public class Student {
private String name;
private String number;
private int score;
public Student() {
}
public Student(String name, String number, int score) {
super();
this.name = name;
this.number = number;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public String toString() {
return "Name: " + name
+ ",Number: " + number
+ ",Score : " + score;
}
//调用方法
public static void main(String args) {
Student s = new Student("Jack","123456",98);
System.out.println(s.toString());
}
}
运行结果:
Name: Jack,Number: 123456,Score : 98
java对象和类的一个程序
很基础的一些东西,代码直接贴上了:
public class Cat {
public static final String prompt="新来了一只猫咪!它还没有名字";
public static final String prompt2="新来了一只猫咪!他叫";
public static final String record="修改了小猫的名字";
private String name;
public Cat() {
System.out.println(prompt);
}
public Cat(String name) {
this.name = name;
if (null==name){
System.out.println(prompt);
}else {
StringBuilder prompt = new StringBuilder();
System.out.println(prompt.append(prompt2).append(name));
}
}
public void name(String name){
System.out.println(record+"原来是:"+this.getName()+",修改后是:"+name);
this.setName(name);
}
public static void main(String args) {
final Cat cat = new Cat("小花");
final Cat cat1 = new Cat();
cat.name("小布");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
如何将表单信息传递javabean封装的查询数据库的类来提取想要的信息
getAllRecords()方法里设置一个字符串类型的参数:public ArrayList《Records》 getAllRecords()
(String address),然后这里String sql = "select * from records where college like ’%+"北京"+%’;";改成String sql = "select * from records where college like ’%+address+%’;";,最后在调用getAllRecords("北京")时候把“北京”作为参数传进来。
java中调用其他类的方法,除了实例化该类的对象后调用,有没有别的办法
要看你这个方法,是什么方法?如果是个静态方法,可以直接用类名.方法名引用。如果不是静态方法,那就只能用实例变量.方法名来引用。毕竟是JAVA是面向对象语言,所以没有别的办法,除非你这个方法是在自己的类里面,如果这样就不用实例化了,可以直接调用。
java treeset和hashset如何判断元素是否相同
我想看下你得record类,问题可能出在你得record类里面,你是不是重写了hashcode方法?
刚才看了一下,问题出在你得record类应该,你没有生成一个hashcode()方法,所以你得hashcode方法继承自object类
object类的hashcode算法hashcode算出来的结果就是该对象在内存中的地址的十进制表示,你每次都是new出来的record,所以他们的内存地址一定是不一样,那么这就说明他们的hashcode不一样,而hashset对于相同对象的比较是使用hashcode的,他们的hashcode不同,那么自然被hashset认为是不一样的对象了,所以有了你的结果,建议record类里面写一个hashcode方法,可以利用Eclipse或MyEclipse的生成的那个hashcode算法
然后说说treeset
boss来了,等下给你补上
好了,boss走了,吓死我了
对于你的treeset,他是用compareTo方法判断是否相同,treeset要求你必须给record类实现comparable接口,你应该写了,但是这个接口有个方法compareTo你实现的时候可能是用了默认的吧,默认的compareTo方法只有一句,就是return 0;所以对于任何两个对象来说他们compareTo都是相同的,那么treeset就会认为这些record都是一样的,没区别,所以就只有一条
,建议可以利用下Eclipse或MyEclipse的equals算法生成,然后在compareTo方法里调用equals方法比较
综上所述
hashset用hashcode方法来实现比较是否相同
而treeset用comparable接口的compareTo方法比较
有问题可以追问,
打了这么多字给分吧~~
希望能帮助你
我人还是太好了,附带着还是把record的代码发给你吧,免得你迷糊
public class record implements Comparable{
private int age;
private String name;
public record(int age,String name){
// TODO Auto-generated constructor stub
this.age=age;
this.name=name;
}
@Override
public int compareTo(Object o) {
// TODO Auto-generated method stub
if(equals(o)){
return 0;
}else {
return -1;
}
}
@Override
public String toString() {
return "record ";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
record other = (record) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
}

更多文章:
双色球浙江风采超长版2005(2005年浙江超长版双色球走势图)
2026年10月11日 03:20
深圳龙华人民医院疑似病例(西安新增2例确诊1例初筛阳性,当地针对此情况采取了哪些措施)
2026年10月11日 02:40
乌克兰军事威胁俄罗斯代表(俄罗斯平静面对西方制裁,这个国家为什么这么有底气呢)
2026年10月10日 23:40
微信使用代理是什么意思(安装微信时出现“正在使用代理上网,请关闭代理再安装”,是什么意思)
2026年10月10日 19:10






