• 跟着阿里学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学习教程

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

  • 相关阅读:
    奉上简单的.Net后端开发模板
    C#之委托如此简单
    cordova环境搭建
    Linux实现免密码登录
    RHEL7网络管理NetworkManager和nmcli指令
    RHEL7中配置本地YUM软件源
    RHEL7 网口绑定Network Teaming
    Linux工具之top
    Linux工具之ss
    linux工具之lsof
  • 原文地址:https://www.cnblogs.com/Cion-Da/p/13232931.html
Copyright © 2020-2023  润新知