zoukankan      html  css  js  c++  java
  • 跟着阿里学JavaDay07——Java基础语法(五)

    我们后面的笔记我,打算直接用程序,加注释进行记录。日后若本人有疑问,可进行网络查询加以整理回复

    package com.cionda.JavaDemo.dept;
    
    public class JavaDemo {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            dept department = new dept("004","张三");//声明并实例化对象
            System.out.println(department.deptInfo());//引用对象中的deptInfo方法,并打印返回值    
            System.out.println(new dept("003","李四","北京").deptInfo());//这里打印的是匿名对象中的deptInfo方法,使用完毕后,匿名对象即成为垃圾
            //我们可以尝试再次打印department.deptInfo
            System.out.println(department.deptInfo());
        }
    }
    package com.cionda.JavaDemo.dept;
    /**
     * 
     * @author CionDa * 
     *
     */
    public class dept {//创建部门类
        /***
         * 日常开发中,我们的成员变量都要用关键字private进行保护
         * 成员变量是写在类里面的
         * 而局部变量是写在方法体里面的
         */
        private String deptno;//员工ID编号
        private String deptname;//员工名字
        private String deptloc;//部门地点
        public dept() {//构造方法
            /***
             * 1、构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样。
             * 2、构造方法不要写返回值类型,连void都不写。
             * 3、构造方法不能return一个具体的返回值。
             * 4、如果没有编写任何构造方法,那么编译器将默认会赠送一个构造方法,没有参数、方法体什么事情都不会做。
             * 5、一旦编写了至少一个构造方法,那么编译器将不再赠送。
             */
            this(null,null,null);//减少代码的重复性,调用形参最多的一个构造方法来使用
        }
        public dept(String deptno,String deptname) {//构造方法重载
            /***
             * (1)概述方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表
             * (2)注意事项
             * 如果没有给出构造方法,系统将自动提供一个构造方法
             * 如果给了构造方法,系统将不再提供构造方法
             * 所以最好一直写出无参构造方法public dept()
             */
            this(deptno,deptname,null);
        }
        public dept(String deptno,String deptname,String deptloc) {//这是一个形参最多的一个构造方法
            this.deptno = deptno;//this关键字指向的是同一个类中的对象
            /***
             * 如果这里我们不用this
             * 我们的编译器会误认为,等号左边和右边是同一个对象,输出所有结果为null
             * 为了验证,我们可以拷贝代码进行修改
             * 
             * 我们的this关键字,这里还可以指向同一个类中的方法
             * 例如:上面两个构造方法调用这个构造方法一样
             * 注意:
             * 我们在调用this关键字使用方法时避免进入死循环
             * 例如:
             * public dept() {
             *         this(null,null,null);
             * }
             * public dept(String deptno,String deptname,String deptloc) {
             *         this();
             * }
             * 这样会造成两个方法相互调用,没有停止值,特别是构造方法。没有返回值。最容易进入死循环
             */
            this.deptname = deptname;
            this.deptloc = deptloc;
        }
        
        public String deptInfo() {
            return "员工号:"+this.deptno+"
    员工名字:"+this.deptname+"
    部门地址:"+this.deptloc;
        }
        /***
         * ①我们可以在构造方法里进行对象的赋值
         * ②也可以用getter,setter来进行对象的赋值
         * 例如以下代码段。
         * 构造函数是用于初始化类的属性,且只有在创建对象时才会调用构造函数,用于给对象分配地址
         * 无参的构造函数,创建对象时默认调用,当程序没有明确写出有参的构造函数,系统会默认的创建一个。
         * 有参的构造函数,创建对象时传进参数。
         * setter方法,是对象引用调用setter方法,并传入参数。
         * getter方法,对象调用getter方法,获取对象属性的值。
         * 区别:
         * 构造方法只有在创建对象时才会被“系统”调用且只调用一次, 而getter和setter方法是随时可以被“对象”调用
         * 构造方法不能获取对象属性的值, 而getter可以获取对象的属性值
         */
    //    public String getDeptno() {
    //        return deptno;
    //    }
    //    public void setDeptno(String deptno) {
    //        this.deptno = deptno;
    //    }
    //    public String getDeptname() {
    //        return deptname;
    //    }
    //    public void setDeptname(String deptname) {
    //        this.deptname = deptname;
    //    }
    //    public String getDeptloc() {
    //        return deptloc;
    //    }
    //    public void setDeptloc(String deptloc) {
    //        this.deptloc = deptloc;
    //    }
    }

    感谢阿里云开发者社区,让我有整套系统的Java学习教程

    同时,感谢博客园,让我有一个免费的博客,并让我做笔记学习!!

  • 相关阅读:
    html 6 border border-width border-style border-color CSS三角形
    html 5 marign top right bottom left
    html 布局
    python学习——生成列表并修改其元素
    python学习——读取染色体长度(七:for循环对染色体序列进行反向互补)
    python学习——读取染色体长度(七:读取fasta文件)
    python学习——读取染色体长度(六:读取含有染色体长度的文件)
    python学习——读取染色体长度(五:从命令行输入染色体长度)
    python学习——读取染色体长度(四:获取最长染色体的编号)
    python学习——读取染色体长度(三、用循环或者函数求总长并获取最长染色体长度)
  • 原文地址:https://www.cnblogs.com/Cion-Da/p/13232931.html
Copyright © 2011-2022 走看看