• 【Java基础】构造方法概述及注意事项


    目录

    一、构造方法概述

    二、构造方法的注意事项

    三、标准类制作


    一、构造方法概述

    构造方法是一种特殊的方法

    作用:创建对象Student stu = new Student();

    格式:

    pucli class 类名{

            修饰符 类名(参数){

            }

    }

    功能:主要是完成对象数据的初始化

    示例代码:

    1. class Student {
    2. private String name;
    3. private int age;
    4. //构造方法
    5. public Student() {
    6. System.out.println("无参构造方法");
    7. }
    8. public void show() {
    9. System.out.println(name + "," + age);
    10. }
    11. }
    12. /*
    13. 测试类
    14. */
    15. public class StudentDemo {
    16. public static void main(String[] args) {
    17. //创建对象
    18. Student s = new Student();
    19. s.show();
    20. }
    21. }

    二、构造方法的注意事项

    构造方法的创建

    如果没有定义构造方法,系统将给一个默认的无参构造方法,如果定义了构造方法,系统将不再提供默认的构造方法

    构造方法的重载

    如果自定义了无参构造方法,还要使用无参构造方法,就必须再写一个无参数构造方法

    推荐的使用方式

    无论是否使用,都手工书写无参数构造方法

    重要功能

    可以使用带参构造,为成员变量进行初始化

    示例代码:

    1. /*
    2. 学生类
    3. */
    4. class Student {
    5. private String name;
    6. private int age;
    7. public Student() {}
    8. public Student(String name) {
    9. this.name = name;
    10. }
    11. public Student(int age) {
    12. this.age = age;
    13. }
    14. public Student(String name,int age) {
    15. this.name = name;
    16. this.age = age;
    17. }
    18. public void show() {
    19. System.out.println(name + "," + age);
    20. }
    21. }
    22. /*
    23. 测试类
    24. */
    25. public class StudentDemo {
    26. public static void main(String[] args) {
    27. //创建对象
    28. Student s1 = new Student();
    29. s1.show();
    30. //public Student(String name)
    31. Student s2 = new Student("小红");
    32. s2.show();
    33. //public Student(int age)
    34. Student s3 = new Student(30);
    35. s3.show();
    36. //public Student(String name,int age)
    37. Student s4 = new Student("小红",20);
    38. s4.show();
    39. }
    40. }

    三、标准类制作

    需求:定义标准学生类,要求分别使用空参和有参构造方法创建对象,空参创建的对象通过setXxx赋值,有参创建的对象直接赋值,并通过show方法展示数据

    示例代码:

    1. class Student {
    2. //成员变量
    3. private String name;
    4. private int age;
    5. //构造方法
    6. public Student() {
    7. }
    8. public Student(String name, int age) {
    9. this.name = name;
    10. this.age = age;
    11. }
    12. //成员方法
    13. public void setName(String name) {
    14. this.name = name;
    15. }
    16. public String getName() {
    17. return name;
    18. }
    19. public void setAge(int age) {
    20. this.age = age;
    21. }
    22. public int getAge() {
    23. return age;
    24. }
    25. public void show() {
    26. System.out.println(name + "," + age);
    27. }
    28. }
    29. /*
    30. 创建对象并为其成员变量赋值的两种方式
    31. 1:无参构造方法创建对象后使用setXxx()赋值
    32. 2:使用带参构造方法直接创建带有属性值的对象
    33. */
    34. public class StudentDemo {
    35. public static void main(String[] args) {
    36. //无参构造方法创建对象后使用setXxx()赋值
    37. Student s1 = new Student();
    38. s1.setName("小红");
    39. s1.setAge(20);
    40. s1.show();
    41. //使用带参构造方法直接创建带有属性值的对象
    42. Student s2 = new Student("小红",20);
    43. s2.show();
    44. }
    45. }

     

  • 相关阅读:
    浏览器缓存机制
    模型部署遇到的问题
    【计算思维题】少儿编程 蓝桥杯青少组计算思维 数学逻辑思维真题详细解析第9套
    Linux服务搭建 -- NTP服务
    Linux如何设置SUDO_ASKPASS
    Netty 入门 — 要想掌握 Netty,你必须知道它的这些核心组件
    Redis
    RobotFramework 自动化测试实战基础篇
    Linux CC++ 网络编程博客
    Go语言设计与实现 学习笔记 第一章 介绍
  • 原文地址:https://blog.csdn.net/m0_61961937/article/details/126496928