构造方法
在开发中经常需要在创建对象的同时明确对象的属性值,比如员工入职公司就要明确他的姓名、年龄等属性信息。
那么,创建对象就要明确属性值,那怎么解决呢?也就是在创建对象的时候就要做的事情,当使用new关键字创建对象时,怎么给对象的属性初始化值呢?
这就要学习Java另外一门小技术,构造方法。

那什么是构造方法呢?
从字面上理解即为构建创造时用的方法,即就是对象创建时要执行的方法。既然是对象创建时要执行的方法,那么只要在new对象时,
知道其执行的构造方法是什么,就可以在执行这个方法的时候给对象进行属性赋值。

class Person {

  private int age;
  private String name;

Person(int a, String nm) {
  age = a;
  name = nm;
  }
}

构造方法运行特点:
在new 对象的时候自动调用执行。

每一class类都必须有一个构造方法,构造方法不写也有。
编译的时候,javac,系统会自动检查类中是否有构造方法,如果没有编译器就会自动添加一个构造方法
比如Person类, 编译器添加一个无参构造 public Person(){}

构造方法和一般方法区别
* A: 目前为止,学习两种方法,分别为构造方法和一般方法,那么他们之间有什么异同呢?
1.格式不同
构造方法 : 修饰符 类名(参数类型 参数 ...){
初始化成员变量
}
一般方法: 需要有返回值类型
2.作用不同
构造方法一般用来给成员变量初始化;
一般方法根据需求而定;
3.调用方式不同
构造方法创建对象时调用, 或者this() super() 语句调用
普通方法需要对象调用或者静态方法直接调用静态方法.
4.执行不同
构造方法在对象创建时就执行了,而且只执行一次。
一般方法是在对象创建后,需要使用时才被对象调用,并可以被多次调用。

需求:在Person类中定义功能,判断两个人是否是同龄人

源代码忽略

来个综合案例

某IT公司有多名员工,按照员工负责的工作不同,进行了部门的划分(研发部员工、维护部员工)。研发部根据所需研发的内容不同,又分为JavaEE工程师、Android工程师;维护部根据所需维护的内容不同,又分为网络维护工程师、硬件维护工程师。
公司的每名员工都有他们自己的员工编号、姓名,并要做它们所负责的工作。
工作内容
JavaEE工程师:员工号为xxx的 xxx员工,正在研发拼多多网站
Android工程师:员工号为xxx的 xxx员工,正在研发拼多多手机客户端软件
网络维护工程师:员工号为xxx的 xxx员工,正在检查网络是否畅通
硬件维护工程师:员工号为xxx的 xxx员工,正在修复打印机
请根据描述,完成员工体系中所有类的定义,并指定类之间的继承关系。进行XX工程师类的对象创建,完成工作方法的调用。

最新文章

  1. O(1)效率的表面模糊算法优化。
  2. ActiveMQ中的Destination高级特性(一)
  3. shell脚本生成限定范围的随机数
  4. Java开发11个过不去的梗
  5. 搭建selenium自动化环境步骤
  6. 实战突击: Java Web项目整合开发(PDF)
  7. Oracle DB 自动管理共享内存
  8. mysql 多个字段拼接
  9. leetcode第27题--Implement strStr()
  10. 如何在网页启动Windows服务
  11. 关于ImageLoader的一些东西
  12. ABP+AdminLTE+Bootstrap Table权限管理系统第二节--数据库脚本
  13. 在Visual Studio 2013 中使用C++单元测试
  14. Java开发知识之Java的异常处理
  15. css之margin
  16. angular4-注入服务
  17. eclipse中maven运行run as clean等没反应处理方式
  18. docker仓库harbor搭建随笔
  19. WPF实战案例-MVVM模式下在Xaml中弹出窗体
  20. Swift5 语言指南(二十三) 协议

热门文章

  1. 九、python沉淀之路--递归、全局变量、局部变量、作用域
  2. list_for_each_entry
  3. Oracle中OEM的启动与关闭
  4. Linux动态gif图的录制
  5. Python collections系列之单向队列
  6. CentOS6.5下安装mongodb
  7. laravel 添加自定义类 全局自定义方法 自定义常量
  8. 讯为开发板的最小LINUX系统烧写及U盘的挂载及卸载
  9. C# winfrom FastReport 变量设计加载
  10. mycat接oracle和mysql多个实例