开发者学堂课程【Scala 核心编程-基础:Java 构造器回顾】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/609/detail/8948
Java 构造器回顾
内容简介
一、构造器
接下来我们看下一个 Scala 知识点,构造器
一、构造器
1、看一个需求
来看一个需求:前面在创建 Person 的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如果现在要求,在创建人类的对象时,就直接指定这个对象的年龄和姓名,该怎么做?这时就可以使用构造方法或构造器。
2、回顾-Java 构造器基本语法
[修饰符]方法名(参数列表){
构造方法体
}
详解:
在类里面可以加修饰符,Java 的构造器方法名需要跟类名同名,参数类表根据需求来写,构造器是没有返回值的。
3、构造器的作用
主要作用是完成对新对象的初始化,并不是创建对象。
4、回顾-Java 构造器的特点
(1)在 Java 中一个类可以定义多个不同的构造方法,构造方法可以重载;
(2)如果程序员没有定义构造方法,系统会自动给类生成一个默认无参构造方法(也叫默认构造器),比如 Person(){};但是有一些底层的框架,在学习框架时,有些老师要求在某些框架进行反射时,必须显示并申明无参构造器;
(3)在 Java 构造器中,一旦定义了自己的构造方法,默认的构造方法就覆盖了,就不能再使用默认的无参构造方法,除非显示的定义一下,即:Person()f。
5、回顾-Java 构造器的案例
在前面定义的 Person 类中添加两个构造器:
第一个无参构造器:利用构造器设置所有人的 age 属性初始值都为18;
第二个带 name 和 age 两个参数的构造器:使得每次创建 Person 对象的同时初始化对象的 age 属性值和 name 属性值。
代码设置:
class Person[
public String name;
public int age;
public String getlnfo(){
Rreturn name +"\t" +age;
}
public Person(){
age =18;
}//添加的第一个构造器
public Person(String name, int age){
this name = name;
this .age = age;//添加的第二个构造器
引出的问题:
在 public Person(){中隐藏着 super 父类构造器。