跟着阿里学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+"\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学习教程
同时,感谢博客园,让我有一个免费的博客,并让我做笔记学习!!
跟着阿里学JavaDay07——Java基础语法(五)的更多相关文章
- 跟着阿里学JavaDay04——Java基础语法(二)
一.Java运算符 运算符的简介 所有的程序开发,都是对数字的进行处理.而对数字的处理,一定会存在所谓的操作模式,而这些操作模式就被称为运算符. 算术运算符 对于算术运算符,我们主要掌握++,--的运 ...
- 跟着阿里学JavaDay06——Java基础语法(四)
一.方法 方法执行到return语句后,这个方法的执行就结束了,方法可以有返回值,但可以不用这个返回值.方法首先要定义,然后才能调用. public class TestMethod{ public ...
- 简明易懂,将细节隐藏,面向新手树立web开发概念——学完Java基础语法,超快速上手springboot+mybatiJavaWeb开发
简明易懂,将细节隐藏,面向新手树立web开发概念 --学完Java基础语法,超快速上手JavaWeb开发 Web本质(先忽视各种协议) Web应用可以理解为浏览器和服务器之间的交互. 我们可以看一个简 ...
- 跟着阿里学JavaDay02——Java编程起步
几乎所有语言的第一个程序都是"HelloWorld" 就像所有单片机初学者一样,点亮第一个LED灯开始 而起初我们编写/学习Java程序,都是通过记事本来编写的,这里推荐一个Edi ...
- 跟着阿里学JavaDay01——Java编程环境搭建
一.下载并完成JDK的安装 我们要学习Java就需要下载JDK.因为JDK是Java的开发工具. JDK的获取可以通过官方网站下载:JDK下载地址(这里我们下载Java SE10的版本) JDK下载完 ...
- Java基础语法<五> 大数值BigInteger BigDecimal
笔记整理 来源于<Java核心技术卷 I > <Java编程思想> 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有平有用的类:BigIn ...
- 001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学
001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学 welcome to Java World 欢迎来到Java世界 一起领略Java编程世界的奥秘与奥妙 ...
- 第3天 Java基础语法
第3天 Java基础语法 今日内容介绍 引用数据数据类型(Scanner.Random) 流程控制语句(if.for.while.dowhile.break.continue) 引用数据类型 Scan ...
- JavaSE基础(三)--Java基础语法
Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...
随机推荐
- Java实现 LeetCode 12 整数转罗马数字
12. 整数转罗马数字 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 ...
- 第四届蓝桥杯C++B组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.猜灯谜 A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的 ...
- Java实现 Leetcode 169 求众数
public static int majorityElement(int[] nums) { int num = nums[0], count = 1; for(int i=1;i<nums. ...
- java实现迷宫走法
** 迷宫走法** 迷宫问题 对于走迷宫,人们提出过很多计算机上的解法.深度优先搜索.广度优先搜索是使用最广的方法.生活中,人们更愿意使用"紧贴墙壁,靠右行走"的简单规则. 下面的 ...
- java实现第六届蓝桥杯灾后重建
灾后重建 题目描述 Pear市一共有N(<=50000)个居民点,居民点之间有M(<=200000)条双向道路相连.这些居民点两两之间都可以通过双向道路到达.这种情况一直持续到最近,一次严 ...
- c/c++混编
/* head.h */#ifndef __SUM_H__ #define __SUM_H__ #ifdef __cplusplus extern "C" { #endif int ...
- ASP.NET Core 3.1 WebApi部署到腾讯云CentOS 7+Docker
一.准备 首先需要有一台CentOS服务器,安装最新版Docker,配置镜像加速等,安装方法网上很多,下面是一些相关指令: yum install -y yum-utils device-mapper ...
- 06.Django-用户认证
用户认证 Django 内置一个 auth 模块,帮助用户实现注册.登录.注销以及修改密码等功能,帮助开发者省去了很多功夫 用于认证的数据表 auth_user User是auth模块中维护用户信息的 ...
- 【Java】利用反射执行Spring容器Bean指定的方法,支持多种参数自动调用
目录 使用情景 目的 实现方式 前提: 思路 核心类 测试方法 源码分享 使用情景 将定时任务录入数据库(这样做的好处是定时任务可视化,也可以动态修改各个任务的执行时间),通过反射执行对应的方法: 配 ...
- Git创建多个ssh key
在使用git的时候,遇到需要创建多个ssh key的需求,一个用来git hub项目,一个用来git lab项目: 之前如果已将创建过一个ssh key,那么在创建第二个的时候,要修改默认名称,然后增 ...