java编程中减少一个类中重复代码的窍门

java编程中减少一个类中重复代码的窍门

2013年12月08日 17:57:59 bestcxx 阅读数:2427 标签: java编程调用类减少代码声明创建对象 更多

个人分类: java基础

版权声明:本文为博主原创文章,如有错误劳烦指正。转载请声明出处,便于读取最新内容。——Bestcxx https://blog.csdn.net/bestcxx/article/details/17202429

         有时候我们会遇到这样的情况,一个类中的许多方法要调用其他类的方法。

        比如类1中有方法1和方法2要调用类2中的方法3,这个时候如果在方法1和方法2中都写的话会有几句重复的代码,就是声明部分,这里只有一个方法,重复的部分还比较少,如果引用的方法非常多的话,这个重复的代码量也是很多的。

       那么怎么写代码即能较少代码的量也不会影响方法之间的调用呢?

在类的开始声明一个类(=null或者直接”;”结束),但是不实例化,即

private User user;或者private User user=null;

如果在这个类的下面的两个方法中分别实例化一个对象,这两个对象是互不干扰的,也就是创建了两个对象。

public class UserService{

private User user;//这个是比较关键的,之后的方法一和二都要调用,但是这里只是声明,不创建对象,即不再这里实例化,这个User是一个实体类,有UserId属性和set和get方法

public void me1(){

if(user==null){

user=new User();

user.setId(1);

System.out.println("xin1"+user.getId());

}else{

System.out.println("yicun1"+user.getId());

}

}

public void me2(){

if(user==null){

user=new User();

user.setId(2);

System.out.println("xin2"+user.getId());

}else{

System.out.println("yicun2"+user.getId());

}

}

public static void main(String []args){

UserService us=new UserService();

us.me1();

us.me2();

us.me1();

}

}

运行结果:

xin11

yicun21

yicun11

(就是方法一中的user和方法二中的user互不干扰)

但是,如果是在类的开始就创建了对象,private User user=new User();并且在之后的不同方法中都调用这个对象user,那么方法之间是要产生相互的影响的,即最后一个调用这个对象的方法决定这个对象的值是多少,当然,如果这个对象的状态是无法改变的,或者每次调用完后都要销毁,那么这个创建对象也没有呢影响,在这里特别注意一些传参的类,比如实体类,List类等,就不能在类的开始实例化,只能声明一下,总而言之,我们提倡的是这个类的所有方法中要用到的所有的其他类的方法,不论是一次,还是两次及以上,我们都要遵循下面的准则:1,之在类的开始声明需要类2,所有创建对象的过程都之在相应的方法中进行。

猜你喜欢

转载自blog.csdn.net/evilcry2012/article/details/84589967