• Java的构造器


    构造器
    1. 1.package com.msb2;
    2. 2.
    3. 3./**
    4. 4. * @Auther: msb-zhaoss
    5. 5. */
    6. 6.public class Person {
    7. 7. //构造器:没有任何参数的构造器我们叫做:空参构造器--》空构造器
    8. 8. public Person(){
    9. 9. /*age = 19;
    10. 10. name = "lili";
    11. 11. height = 169.5;*/
    12. 12. }
    13. 13. //属性:
    14. 14. String name;
    15. 15. int age;
    16. 16. double height;
    17. 17. //方法:
    18. 18. public void eat(){
    19. 19. System.out.println("我喜欢吃饭");
    20. 20. }
    21. 21.}
    1. 1.package com.msb2;
    2. 2.
    3. 3./**
    4. 4. * @Auther: msb-zhaoss
    5. 5. */
    6. 6.public class Test {
    7. 7. //这是一个main方法,是程序的入口:
    8. 8. public static void main(String[] args) {
    9. 9. //创建一个Person类的具体的对象/实例/实体:
    10. 10. /*
    11. 11. 创建对象的过程:
    12. 12. 1.第一次遇到Person的时候,进行类的加载(只加载一次)
    13. 13. 2.创建对象,为这个对象在堆中开辟空间
    14. 14. 3.为对象进行属性的初始化动作
    15. 15.
    16. 16. new关键字实际上是在调用一个方法,这个方法叫构造方法(构造器)
    17. 17. 调用构造器的时候,如果你的类中没有写构造器,那么系统会默认给你分配一个构造器,只是我们看不到罢了。
    18. 18. 可以自己显式 的将构造器编写出来:
    19. 19. 构造器的格式:
    20. 20. [修饰符] 构造器的名字(){
    21. 21.
    22. 22. }
    23. 23. 构造器和方法的区别:
    24. 24. 1.没有方法的返回值类型
    25. 25. 2.方法体内部不能有return语句
    26. 26. 3.构造器的名字很特殊,必须跟类名一样
    27. 27.
    28. 28. 构造器的作用:不是为了创建对象,因为在调用构造器之前,这个对象就已经创建好了,并且属性有默认的初始化的值。
    29. 29. 调用构造器的目的是给属性进行赋值操作的。
    30. 30.
    31. 31. 注意:我们一般不会在空构造器中进行初始化操作,因为那样的话每个对象的属性就一样了。
    32. 32. 实际上,我们只要保证空构造器的存在就可以了,里面的东西不用写
    33. 33. */
    34. 34. Person p = new Person();
    35. 35. System.out.println(p.age);
    36. 36. System.out.println(p.name);
    37. 37. System.out.println(p.height);
    38. 38.
    39. 39. Person p2 = new Person();
    40. 40. System.out.println(p2.age);
    41. 41. System.out.println(p2.name);
    42. 42. System.out.println(p2.height);
    43. 43. }
    44. 44.}

    构造器重载

    1. 1.package com.msb3.msb2;
    2. 2./**
    3. 3. * @Auther: msb-zhaoss
    4. 4. */
    5. 5.public class Person {
    6. 6.
    7. 7. //属性:
    8. 8. String name;
    9. 9. int age;
    10. 10. double height;
    11. 11.
    12. 12. //空构造器
    13. 13. public Person(){
    14. 14.
    15. 15. }
    16. 16. public Person(String name,int age,double height){
    17. 17. //当形参名字和属性名字重名的时候,会出现就近原则:
    18. 18. //在要表示对象的属性前加上this.来修饰 ,因为this代表的就是你创建的那个对象
    19. 19. this.name = name;
    20. 20. this.age = age;
    21. 21. this.height = height;
    22. 22. }
    23. 23. public Person(String a,int b){
    24. 24. name = a;
    25. 25. age = b;
    26. 26. }
    27. 27.
    28. 28. //方法:
    29. 29. public void eat(){
    30. 30. System.out.println("我喜欢吃饭");
    31. 31. }
    32. 32.}
    1. 1.package com.msb3.msb2;
    2. 2.
    3. 3./**
    4. 4. * @Auther: msb-zhaoss
    5. 5. */
    6. 6.public class Test {
    7. 7. //这是一个main方法,是程序的入口:
    8. 8. public static void main(String[] args) {
    9. 9. /*
    10. 10. 1.一般保证空构造器的存在,空构造器中一般不会进行属性的赋值操作
    11. 11. 2.一般我们会重载构造器,在重载的构造器中进行属性赋值操作
    12. 12. 3.在重载构造器以后,假如空构造器忘写了,系统也不会给你分配默认的空构造器了,那么你要调用的话就会出错了。
    13. 13. 4. 当形参名字和属性名字重名的时候,会出现就近原则:
    14. 14. 在要表示对象的属性前加上this.来修饰 ,因为this代表的就是你创建的那个对象
    15. 15.
    16. 16. */
    17. 17.
    18. 18. Person p = new Person();
    19. 19. /*p.age = 19;
    20. 20. p.name = "lili";
    21. 21. p.height = 180.4;*/
    22. 22.
    23. 23. Person p2 = new Person("lili",19,180.4);
    24. 24. System.out.println(p2.age);
    25. 25. System.out.println(p2.height);
    26. 26. System.out.println(p2.name);
    27. 27.
    28. 28. }
    29. 29.}

  • 相关阅读:
    os实训课程模拟考试(选择题复习)
    微信小程序消息订阅Java
    家常菜中的黄焖鸡
    GO语言开山篇(四):开发工具VSCode的安装和使用及环境搭建
    《windows 程序设计》读书笔记 一
    练习-Java输入输出之File类之获取文件信息(2)
    取数游戏2(动态规划java)
    Vue3 customRef自定义ref 实现防抖
    Linux NetworkManager网络服务详解
    基于遗传算法的微电网经济运行优化matlab程序
  • 原文地址:https://blog.csdn.net/weixin_45503872/article/details/134506702