我们后面的笔记我,打算直接用程序,加注释进行记录。日后若本人有疑问,可进行网络查询加以整理回复
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学习教程
同时,感谢博客园,让我有一个免费的博客,并让我做笔记学习!!