跟着阿里学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 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...
随机推荐
- 类似-Xms、-Xmn这些参数的含义:
类似-Xms.-Xmn这些参数的含义: 答: 堆内存分配: JVM初始分配的内存由-Xms指定,默认是物理内存的1/64 JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4 默认空余堆内存小于 ...
- Centos7.3 搭建KVM 命令安装VM虚拟机
操作系统:centos7.3 一.安装KVM 1. 验证CPU是否支持KVM:如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的. egrep '(vmx|svm)' ...
- 96题--不同的二叉搜索树(java、中等难度)
题目描述:给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例如下: 分析:本题可用动态规划的方法求解. 设 dp[n] 表示以 1 ... n 为节点组成的二叉搜索树的种类 ...
- gitee+picgo搭建个人博客图床
gitee+picgo搭建个人博客图床 准备 首先需要去码云注册一个账号,并新建一个仓库.接着下载PicGO并安装好. 过程 点击左下方的插件设置. image 在搜索框中输入gitee搜索插件,安装 ...
- oracle使用+简写左关联出现的结果集不一致问题
这是使用(+)的sql语句(已简写) select a.id,b.num from a,b where a.id=b.id(+) and b.num>10 这是使用left join的sql语句 ...
- Asp.Net Core入门之自定义服务注册
谈到服务注册,首先我们先了解一下服务注册时使用的三种方式,也代表了不同的服务生命周期: AddTransient AddScoped AddSingleton AddSingleton生命周期最长,其 ...
- Lavarel 执行:php artisan migrate时报错
错误如下: 执行:php artisan migrate时报错: [PDOException]SQLSTATE[HY000] [2002] Connection refused 解决办法: 第一步:. ...
- Ultra-QuickSort (求逆序数+离散化处理)、Cows、Stars【树状数组】
一.Ultra-QuickSort(树状数组求逆序数) 题目链接(点击) Ultra-QuickSort Time Limit: 7000MS Memory Limit: 65536K Total ...
- vue-toy: 200行代码模拟Vue实现
vue-toy 200行左右代码模拟vue实现,视图渲染部分使用React来代替Snabbdom,欢迎Star. 项目地址:https://github.com/bplok20010/vue-toy ...
- 简单梳理JavaScript垃圾回收机制
JavaScript具有自动垃圾回收机制,即执行环境会负责管理代码执行过程中使用地内存. 这种垃圾回收机制的原理很简单:找出那些不再继续使用的变量,然后释放其占用的内存.为此,垃圾收集器会按照固定的时 ...