Saul's blog Saul's blog
首页
后端
分布式
前端
更多
分类
标签
归档
友情链接
关于
GitHub (opens new window)

Saul.J.Wu

立身之本,不在高低。
首页
后端
分布式
前端
更多
分类
标签
归档
友情链接
关于
GitHub (opens new window)
  • Java入门基础

    • 计算机常识

    • Java语言概述

    • 基本语法

    • 数组

    • 面向对象

      • 面向对象
      • 类和对象
      • 类的成员-属性
      • 类的成员-方法
      • 类的成员-构造器
        • 类的成员
        • 构造器Constructors
        • JavaBean
        • UML类图
      • 面向对象特性-封装
      • this关键字
      • package关键字
      • import关键字
      • 面向对象特征-继承
      • 方法的重写
      • 访问权限修饰符
      • super关键字
      • 子类对象实例化的全过程
      • 面向对象特征-多态
      • 强制类型转换
      • Object类
      • 包装类
      • static关键字
      • 单例设计模式
      • main方法
      • 类的成员-代码块
      • final关键字
      • 抽象类与抽象方法
      • 接口
      • 类的成员-内部类
    • 异常处理

  • Java核心基础

  • 设计模式

  • Web开发

  • SpringBoot

  • 微服务

  • Elasticsearch

  • 运维

  • 后端
  • Java入门基础
  • 面向对象
SaulJWu
2020-12-11

类的成员-构造器

# 类的成员

Java的基本单位是类class,Java成员即类中的成员,包括以下五个部分:

  • 属性
  • 方法
  • 构造器
  • 代码块/初始化块
  • 内部类

# 构造器Constructors

类的成员之三:构造器(或==构造方法==),任何一个类都有构造器。

构造器的特征

  • 它具有与类相同的名称
  • 它不声明返回值类型。(与声明为void不同)
  • 不能被static、final、synchronized、abstract、native修饰,不能有return语句返回值

构造器的作用

构造器的作用就是:==创建对象;给对象进行初始化==(实例化)

Order o = new Order();    
Person p = new Person(“Peter”,15);//这样对象一旦初始化就有name和age的值了。
1
2

如同我们规定每个“人”一出生就必须先洗澡,我们就可以在“人”的构造器中加入完成“洗澡”的程序代码,于是每个“人”一出生就会自动完成“洗澡”,程序就不必再在每个人刚出生时一个一个地告诉他们要“洗澡”了。

语法格式

修饰符类名(参数列表) {
    初始化语句;
} 
1
2
3

举例:

package constructors;

public class Animal {
    private int leg;

    //构造器
    public Animal() {
        leg = 4;
    }

    public void setLeg(int i) {
        leg = i;
    }

    public int getLeg() {
        return leg;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

创建Animal类的实例:Animal a=new Animal();

调用构造器,将legs初始化为4。

根据参数不同,构造器可以分为如下两类:

  • 隐式无参构造器(系统默认提供)
  • 显式定义一个或多个构造器(无参、有参)

注意

  • Java语言中,每个类都至少有一个构造器
  • 默认构造器的修饰符与所属类的修饰符一致
  • ==一旦显式定义了构造器,则系统不再提供默认构造器==。(默认构造器是无参的构造器)
  • 一个类可以创建多个==重载==的构造器
  • 父类的构造器不可被子类继承

构造器重载

构造器一般用来创建对象的同时初始化对象。如

class Person{
    String name;
    int age;
    public Person(String n,int a){
        name = n;
        age = a;
    }
}
1
2
3
4
5
6
7
8

构造器重载使得对象的创建更加灵活,方便创建各种不同的对象,但是==参数列表必须不同==

public class Person {
    public Person(String name, intage, Date d) {
        this(name, age);
    }

    public Person(String name, intage) {...}

    public Person(String name, Date d) {...}

    public Person() {...}
}
1
2
3
4
5
6
7
8
9
10
11

# 小结:属性赋值过程

截止到目前,我们讲到了很多位置都可以对类的属性赋值。现总结这几个位置,并指明赋值的先后顺序。

  • 赋值的位置:
    • 1、默认初始化:隐式无参构造器(系统默认提供)
    • 2、显式初始化:显式定义一个或多个构造器(无参、有参)
    • 3、构造器中赋值
    • 4、通过“对象.属性“或“对象.方法”的方式赋值
  • 赋值的先后顺序:1、2、3、4

# JavaBean

什么是JavaBean?

  • JavaBean是一种Java语言写成的可重用组件。
  • 所谓javaBean,是指符合如下标准的Java类:
    • 类是公共的
    • 有一个无参的公共的构造器
    • 有属性,且有对应的get、set方法

JavaBean的作用

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

示例

package constructors;

public class JavaBean {
    private String name;
    private int age;

    public JavaBean() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# UML类图

image-20201211111317276

  • + 表示public 类型,-表示private 类型,#表示protected类型
  • 方法的写法: 方法的类型(+、-) 方法名(参数名:参数类型):返回值类型
帮我改善此页面 (opens new window)
#构造器#Constructors
上次更新: 2020/12/18, 12:50:58
类的成员-方法
面向对象特性-封装

← 类的成员-方法 面向对象特性-封装→

最近更新
01
zabbix学习笔记二
02-28
02
zabbix学习笔记一
02-10
03
Linux访问不了github
12-08
更多文章>
Theme by Vdoing | Copyright © 2020-2022 Saul.J.Wu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式