首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第一章:面向对象思想概述
第二章:类和对象
第三章:类的定义
第四章:对象的创建和使用
第五章:关键字 package 和 import
第六章:类的成员之一:属性
第七章:类的成员之二:方法
第八章:可变参数
第九章:方法重载( overload )
第十章:方法的值传递机制
第十一章:递归
第十二章:对象数组
第十三章:OOP特征之一:封装
第十四章:类的成员之三:构造器
第十五章:JavaBean
第十六章:关键字 this
当前位置:
首页>>
技术小册>>
Java语言基础5-面向对象初级
小册名称:Java语言基础5-面向对象初级
14.1 概述 - 语法: ```bash 访问修饰符 类名 (参数列表){ // 初始化语句; } ``` 构造器的组成: ![](/uploads/images/20230724/cd2498c6bff2d13e4dd1c6547d56f5f3.png) 示例: ```bash package com.constructor; /** * @author maxiaoke.com * @version 1.0 */ public class Animal { /** * 腿 */ private int legs; public Animal() { this.legs = 4; } public Animal(int legs) { this.legs = legs; } public int getLegs() { return this.legs; } public void setLegs(int legs) { this.legs = legs; } } ``` ```bash package com.constructor; /** * @author maxiaoke.com * @version 1.0 */ public class AnimalTest { public static void main(String[] args) { // 创建Animal的实例,调用无参构造器,将legs初始化为4 Animal animal = new Animal(); System.out.println("animal.getLegs() = " + animal.getLegs()); } } ``` 14.2 构造器的作用 - ① 创建对象。 - ② 给对象进行初始化。 - 示例: ```bash Order o = new Order(); ``` 示例: ```bash Person p = new Person("张三",15); ``` 14.4 构造器的分类 - 根据参数的不同,构造器可以分为如下两类: - ① 隐式无参构造器(系统 默认 提供)。 - ②显式 定义一个或多个构造器(无参、有参)。 14.5 使用构造器的注意事项 - ① Java 语言中,每个类都至少有一个构造器。 - ② 默认构造器的修饰符和所属类的修饰符一致。 - ③ 一旦显式的定义了构造器,则系统 不再 提供默认构造器。 - ④ 一个类可以创建多个 重载 的构造器。 - ⑤ 父类的构造器不可以被子类继承。 14.6 构造器的重载 - 构造器一般用来创建对象的同时初始化对象,如: ```bash class Person{ String name; int age; public Person(String name,int age){ this.name = name; this.age = age; } } ``` 构造器重载使得创建对象更加灵活,可以很方便的创建不同的对象,如: ```bash class Person{ String name; int age; private Date birthday; public Person(String name,int age){ this.name = name; this.age = age; } public Person(String name,int age,Date birthday){ this(name,age); this.birthday = birthday; } ... } ``` - 构造器重载,参数列表必须不同。 14.7 练习 - ① 定义 Student 类,有 4 个属性: - String name ; - int age ; - String school ; - String major ; - ② 定义 Student 类的 3 个构造器: ```bash public Student(String name,int age){} ``` ```bash public Student(String name,int age,String school){} ``` ```bash public Student(String name,int age,String school,String major){} ``` - ③ 在 main 方法中分别调用不同的构造器创建不同的对象,并输出其属性值。 - 示例: ```bash package com.constructor.demo2; /** * @author maxiaoke.com * @version 1.0 */ public class Student { /** * 名称 */ private String name; /** * 年龄 */ private int age; /** * 学校 */ private String school; /** * 专业 */ private String major; public Student(String name, int age) { this.name = name; this.age = age; } public Student(String name, int age, String school) { this(name, age); this.school = school; } public Student(String name, int age, String school, String major) { this(name, age, school); this.major = major; } @Override public String toString() { return "Student{" + "name='" + this.name + '\'' + ", age=" + this.age + ", school='" + this.school + '\'' + ", major='" + this.major + '\'' + '}'; } } ``` ```bash package com.constructor.demo2; /** * @author maxiaoke.com * @version 1.0 */ public class StudentTest { public static void main(String[] args) { Student s1 = new Student("张三", 25); System.out.println("s1 = " + s1); Student s2 = new Student("李四", 18, "中国社会大学"); System.out.println("s2 = " + s2); Student s3 = new Student("王五", 17, "中国社会大学", "萌萌哒专业"); System.out.println("s3 = " + s3); } } ``` 14.8 属性赋值总结 - 到目前为止,有很多位置都可以对类的属性进行赋值,现总结这几个位置,并指明赋值的先后顺序。 - 赋值的位置: - ① 默认初始化。 - ② 显示初始化。 - ③ 构造器中初始化。 - ④ 通过 "对象.属性" 或 "对象.方法" 的方式赋值。 - 赋值的先后顺序:① → ② → ③ → ④
上一篇:
第十三章:OOP特征之一:封装
下一篇:
第十五章:JavaBean
该分类下的相关小册推荐:
Java并发编程
java源码学习笔记
JAVA 函数式编程入门与实践
Java面试指南
Java语言基础4-数组详解
Java语言基础16-JDK8 新特性
SpringBoot零基础到实战
Java高并发秒杀入门与实战
Java语言基础7-Java中的异常
Java语言基础13-类的加载和反射
深入拆解 Java 虚拟机
Java并发编程实战