您的位置:首页 > 编程语言 > Java开发

跟着阿里学JavaDay07——Java基础语法(五)

2020-07-04 08:10 218 查看

精选30+云产品,助力企业轻松上云!>>>

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

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+"\n员工名字:"+this.deptname+"\n部门地址:"+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学习教程

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

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java