求老师帮看一下我写的一个最基本的javabean测试类,为什么set ,get没作用

qq_36035461 2016-09-10 06:13:05
可能是我比较基础的概念性理解哪里出了错
这是新建的java project


以下是里面的bean ,set ,get 和test 4个java文件
bean

set

get

test

运行结果

按照javabean的解释不是应该将Set.java里面的值传进去了吗,为什么最后输出还是为null呢?
...全文
640 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 9 楼 NewMoons 的回复:
楼主已走火入魔,鉴定完毕。
+1
「已注销」 2016-09-22
  • 打赏
  • 举报
回复
引用 16 楼 qq_36035461 的回复:
[quote=引用 12 楼 zhang5476499 的回复:] [quote=引用 11 楼 zhang5476499 的回复:] 这才是一个Java bean的正确写法啊,楼主:

import java.io.Serializable;

public class Student implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private Integer stuId;
	private String stuName;
	private Department dept;
	public Integer getStuId() {
		return stuId;
	}
	public void setStuId(Integer stuId) {
		this.stuId = stuId;
	}
	public String getStuName() {
		return stuName;
	}
	public void setStuName(String stuName) {
		this.stuName = stuName;
	}
	public Department getDept() {
		return dept;
	}
	public void setDept(Department dept) {
		this.dept = dept;
	}
	
}



import java.io.Serializable;

public class Department implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private Integer deptId;
	private String deptName;
	
	public Integer getDeptId() {
		return deptId;
	}
	public void setDeptId(Integer deptId) {
		this.deptId = deptId;
	}
	public String getDeptName() {
		return deptName;
	}
	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}
	
}

如果想写一个工具类,也可以这样写:
final public class HibernateUtil {
	private static SessionFactory sessionFactory=null;
	//使用线程局部模式
	private static ThreadLocal<Session> threadLocal=new ThreadLocal<Session>();
	private HibernateUtil(){};
	static {
		sessionFactory=new Configuration().configure().buildSessionFactory();
	}
	
	//获取全新的全新的sesession
	public static Session openSession(){
		return sessionFactory.openSession();
	}
	//获取和线程关联的session
	public static Session getCurrentSession(){
		
		Session session=threadLocal.get();
		//判断是否得到
		if(session==null){
			session=sessionFactory.openSession();
			//把session对象设置到 threadLocal,相当于该session已经和线程绑定
			threadLocal.set(session);
		}
		return session;
		
		
	}
}
[/quote]这个问题是学jsp sevlet时遇到的,现在开始学到struts了[/quote]建议还是再看一会基础再学框架吧,感觉写一个java bean是最基础的东西了,楼主加强一下,后面的东西才理解的深入一些。
肃穆丶 2016-09-22
  • 打赏
  • 举报
回复
把get,set 写到bean里面去吧。。
qq_36035461 2016-09-22
  • 打赏
  • 举报
回复
引用 12 楼 zhang5476499 的回复:
[quote=引用 11 楼 zhang5476499 的回复:] 这才是一个Java bean的正确写法啊,楼主:

import java.io.Serializable;

public class Student implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private Integer stuId;
	private String stuName;
	private Department dept;
	public Integer getStuId() {
		return stuId;
	}
	public void setStuId(Integer stuId) {
		this.stuId = stuId;
	}
	public String getStuName() {
		return stuName;
	}
	public void setStuName(String stuName) {
		this.stuName = stuName;
	}
	public Department getDept() {
		return dept;
	}
	public void setDept(Department dept) {
		this.dept = dept;
	}
	
}



import java.io.Serializable;

public class Department implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private Integer deptId;
	private String deptName;
	
	public Integer getDeptId() {
		return deptId;
	}
	public void setDeptId(Integer deptId) {
		this.deptId = deptId;
	}
	public String getDeptName() {
		return deptName;
	}
	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}
	
}

如果想写一个工具类,也可以这样写:
final public class HibernateUtil {
	private static SessionFactory sessionFactory=null;
	//使用线程局部模式
	private static ThreadLocal<Session> threadLocal=new ThreadLocal<Session>();
	private HibernateUtil(){};
	static {
		sessionFactory=new Configuration().configure().buildSessionFactory();
	}
	
	//获取全新的全新的sesession
	public static Session openSession(){
		return sessionFactory.openSession();
	}
	//获取和线程关联的session
	public static Session getCurrentSession(){
		
		Session session=threadLocal.get();
		//判断是否得到
		if(session==null){
			session=sessionFactory.openSession();
			//把session对象设置到 threadLocal,相当于该session已经和线程绑定
			threadLocal.set(session);
		}
		return session;
		
		
	}
}
[/quote]这个问题是学jsp sevlet时遇到的,现在开始学到struts了
ColdFireMan 2016-09-17
  • 打赏
  • 举报
回复
你在BEAN类里面没有用构造方法,所以没有初始化。。。还有并不需要给方法单独创建一个类。。。
qq_21002091 2016-09-17
  • 打赏
  • 举报
回复
new的只能是类,不能是方法,更何况还是构造方法。方法只能被对象调用,看你的代码真的很无语。看看基础吧
sean_0xiao 2016-09-14
  • 打赏
  • 举报
回复
你调了几次,都不是同一个对象,所以就是NULL
「已注销」 2016-09-14
  • 打赏
  • 举报
回复
引用 11 楼 zhang5476499 的回复:
这才是一个Java bean的正确写法啊,楼主:

import java.io.Serializable;

public class Student implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private Integer stuId;
	private String stuName;
	private Department dept;
	public Integer getStuId() {
		return stuId;
	}
	public void setStuId(Integer stuId) {
		this.stuId = stuId;
	}
	public String getStuName() {
		return stuName;
	}
	public void setStuName(String stuName) {
		this.stuName = stuName;
	}
	public Department getDept() {
		return dept;
	}
	public void setDept(Department dept) {
		this.dept = dept;
	}
	
}



import java.io.Serializable;

public class Department implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private Integer deptId;
	private String deptName;
	
	public Integer getDeptId() {
		return deptId;
	}
	public void setDeptId(Integer deptId) {
		this.deptId = deptId;
	}
	public String getDeptName() {
		return deptName;
	}
	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}
	
}

如果想写一个工具类,也可以这样写:
final public class HibernateUtil {
	private static SessionFactory sessionFactory=null;
	//使用线程局部模式
	private static ThreadLocal<Session> threadLocal=new ThreadLocal<Session>();
	private HibernateUtil(){};
	static {
		sessionFactory=new Configuration().configure().buildSessionFactory();
	}
	
	//获取全新的全新的sesession
	public static Session openSession(){
		return sessionFactory.openSession();
	}
	//获取和线程关联的session
	public static Session getCurrentSession(){
		
		Session session=threadLocal.get();
		//判断是否得到
		if(session==null){
			session=sessionFactory.openSession();
			//把session对象设置到 threadLocal,相当于该session已经和线程绑定
			threadLocal.set(session);
		}
		return session;
		
		
	}
}
「已注销」 2016-09-14
  • 打赏
  • 举报
回复
这才是一个Java bean的正确写法啊,楼主:

import java.io.Serializable;

public class Student implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private Integer stuId;
	private String stuName;
	private Department dept;
	public Integer getStuId() {
		return stuId;
	}
	public void setStuId(Integer stuId) {
		this.stuId = stuId;
	}
	public String getStuName() {
		return stuName;
	}
	public void setStuName(String stuName) {
		this.stuName = stuName;
	}
	public Department getDept() {
		return dept;
	}
	public void setDept(Department dept) {
		this.dept = dept;
	}
	
}



import java.io.Serializable;

public class Department implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private Integer deptId;
	private String deptName;
	
	public Integer getDeptId() {
		return deptId;
	}
	public void setDeptId(Integer deptId) {
		this.deptId = deptId;
	}
	public String getDeptName() {
		return deptName;
	}
	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}
	
}

qq_35214244 2016-09-12
  • 打赏
  • 举报
回复
我觉得楼主你已经走火入魔了,我觉得你可以看看单例模式或者匿名对象的知识,对你现在的问题有帮助。
NewMoons 2016-09-11
  • 打赏
  • 举报
回复
楼主已走火入魔,鉴定完毕。
nikyotensai 2016-09-11
  • 打赏
  • 举报
回复
引用 2 楼 qq_36035461 的回复:
[quote=引用 1 楼 weixin_34881029 的回复:] 你调用的 g的name和age是由 Bean b=new Bean();b的数据给的 b.name=null; b.age=null;
我先用Set类向bean里面传值了的啊,我想输出15 ,jay[/quote] s和g有关系吗
自由自在_Yu 2016-09-11
  • 打赏
  • 举报
回复
public class Get {
	public String name = "dd";
	public String age = "xx";
	public Get(){
		Bean b = new Bean();
		b.setAge(age);
		b.setName(name);
	}
}
Get类改成这样就行了,赋值使用set方法,你创建的对象b,是空的,没有值
Cs2345 2016-09-11
  • 打赏
  • 举报
回复
代码好乱,set get是方法,不需要专门为他们创建对象,而是由对象调用
小灯光环 2016-09-10
  • 打赏
  • 举报
回复
引用 4 楼 qq_36035461 的回复:
不同的文件存set和取get不是要各创建一个对象才行吗? 能描述下最简单的java bean和进行一次存取操作该怎么写吗?
是这样,get/set是针对一个对象的,不是像你那样用的,一般就是Bean.java那样就行了~ 存就用set方法,取就用get方法
qq_36035461 2016-09-10
  • 打赏
  • 举报
回复
不同的文件存set和取get不是要各创建一个对象才行吗? 能描述下最简单的java bean和进行一次存取操作该怎么写吗?
Swen程序员 2016-09-10
  • 打赏
  • 举报
回复
你这是创建了两个对象啊~
qq_36035461 2016-09-10
  • 打赏
  • 举报
回复
引用 1 楼 weixin_34881029 的回复:
你调用的 g的name和age是由 Bean b=new Bean();b的数据给的 b.name=null; b.age=null;
我先用Set类向bean里面传值了的啊,我想输出15 ,jay
纵骑横飞 2016-09-10
  • 打赏
  • 举报
回复
你调用的 g的name和age是由 Bean b=new Bean();b的数据给的 b.name=null; b.age=null;

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧