Java-构造器实例化对象实例(Constructor Test)

//package YangMuFa;

 class Emp{

        //private double height ; //身高
        private String image ;  //形象
        private long empno ;    //员工编号
        private String ename ;  //员工姓名
        private String dept ;   //部门名称
        private double slary ;  //基本工资

    public Emp(){}

    public Emp(String image){
            this.image=image ;
            System.out.println("1 -----有一个新的emp类对象实例化了-----");
        }

    public Emp(String image,long empno){
            this.image=image ;
            this.empno=empno ;
            System.out.println("2 -----有一个新的emp类对象实例化了-----");
        }

    public Emp(String image,long empno,String ename){
            this.image=image ;
            this.empno=empno ;
            this.ename=ename ;
            System.out.println("3 -----有一个新的emp类对象实例化了-----");
        }

    public Emp(String image,long empno,String ename,String dept){
            this.image=image ;
            this.empno=empno ;
            this.ename=ename ;
            this.dept=dept ;
            System.out.println("4 -----有一个新的emp类对象实例化了-----");
        }

    public  Emp(String image,long empno,String ename,String dept,double slary){
            this.image=image ;
            this.empno=1000 ;
            this.ename=ename ;
            this.dept=dept ;
            this.slary=slary ;
            System.out.println("5 -----有一个新的emp类对象实例化了-----");
        }

        public void setEmp(String image,long empno,String ename,String dept,double slary){
            this.image=image ;
            this.empno=1000 ;
            this.ename=ename ;
            this.dept=dept ;
            this.slary=slary ;
            System.out.println("6 -----有一个新的emp类对象实例化了-----");
        }

        public void inputEmp(){
            System.out.println("7 -----有一个新的emp类对象实例化了-----");
            System.out.println("<形象:"+this.image+"><员工编号:"+this.empno+"><员工姓名:"+this.ename+"><部门名称:"+this.dept+"><基本工资:"+this.slary+">");
        }

}

//------------------------------------------------------------------------------------------------------------------------------

//通过Emp类可以发现好多代码其实是可以简化的-如下:
class minEmp {

    //private double height ; //身高
    private String image;  //形象
    private long empno;    //员工编号
    private String ename;  //员工姓名
    private String dept;   //部门名称
    private double slary;  //基本工资

    minEmp() {
    }

    public minEmp(String image) {
        this.image = image;
        System.out.println("1 -----有一个新的emp类对象实例化了-----");
    }

    public minEmp(String image, long empno) {
        this(image);
        this.empno = empno;
        System.out.println("2 -----有一个新的emp类对象实例化了-----");
    }

    public minEmp(String image, long empno, String ename) {
        this(image, empno);
        this.ename = ename;
        System.out.println("3 -----有一个新的emp类对象实例化了-----");
    }

    public minEmp(String image, long empno, String ename, String dept) {
        this(image, empno, ename);
        this.dept = dept;
        System.out.println("4 -----有一个新的emp类对象实例化了-----");
    }

    public minEmp(String image, long empno, String ename, String dept, double slary) {
        this(image, empno, ename, dept);
        this.slary = slary;
        System.out.println("5 -----有一个新的emp类对象实例化了-----");
    }

    public void setMinEmp(String image, long empno, String ename, String dept, double slary) {
        this.image = image;
        this.empno = 1000;
        this.ename = ename;
        this.dept = dept;
        this.slary = slary;
        System.out.println("6 -----有一个新的emp类对象实例化了-----");
    }

    public void inputMinEmp() {
        System.out.println("7 -----有一个新的emp类对象实例化了-----");
        System.out.println("<形象:" + this.image + "><员工编号:" + this.empno + "><员工姓名:" + this.ename + "><部门名称:" + this.dept + "><基本工资:" + this.slary + ">");
    }
}

class Test {
     //public Test(int y){
     //    test(y) ;
     //}
    public void test(int i) {
        System.out.println(i);
    }

    public void test1(int i, int y) {
        test(i);
        System.out.println(i + "" + y);
    }
}

//---------------------------------------------------------------------------------------------------------------------------

public class Constructor {
    public static void main(String[] args) {
   //--String image,long empno,String ename,String dept,double slary
        //Emp emp = new Emp("一个字儿 帅 !");
        //emp.inputEmp();
        /**
         1 -----有一个新的emp类对象实例化了-----
         7 -----有一个新的emp类对象实例化了-----
         <形象:一个字儿 帅 !><员工编号:0><员工姓名:null><部门名称:null><基本工资:0.0>
         */
        //minEmp minEmp = new minEmp("一个字儿 帅 !");
        //minEmp.inputMinEmp();
        /**
         1 -----有一个新的emp类对象实例化了-----
         7 -----有一个新的emp类对象实例化了-----
         <形象:一个字儿 帅 !><员工编号:0><员工姓名:null><部门名称:null><基本工资:0.0>
         */
        //minEmp minEmp = new minEmp(String image,long empno,String ename,String dept,double slary)全部传入时:
        /**
         1 -----有一个新的emp类对象实例化了-----
         2 -----有一个新的emp类对象实例化了-----
         3 -----有一个新的emp类对象实例化了-----
         4 -----有一个新的emp类对象实例化了-----
         5 -----有一个新的emp类对象实例化了-----
         7 -----有一个新的emp类对象实例化了-----
         <形象:一个字儿 帅 !><员工编号:100000><员工姓名:杨木发><部门名称:董事办><基本工资:3000.0>
         */
//------------------------------------------------------------------------------------------------------------------
        //Test t = new Test();
        //t.test1(5,9);
    }
}

//1、
//当在调用本类的构造方法时,格式为:this(参数列表);
//前面必须有this关键字无需指定构造方法名,可根据形参自动匹配。
//2、
//当在本类方法中调用本类中普通方法时,格式为:方法名(形参列表);
//当在构造方法中调用发条方法时和在普通方法中调用一样但必须注意如果被调方法有形参则需注意构造方法是否为无参构造

/*---------------------

作者:灭世奶神
本文链接:https://blog.csdn.net/qq_36823679/article/details/89863900

版权声明:
      本文为博主原创文章,转载请附上源文链接!

 如果觉得我的论文对您有用,您的请评论点赞与
 合理优质的转发也将是鼓励支持我继续创作的动力!
---------------------*/

 

你可能感兴趣的:(菜鸟日记之Java)