当前位置: 首页 > article >正文

Java的构造器

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

构造器重载

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


http://www.kler.cn/news/134888.html

相关文章:

  • 个人博客添加访问人数以及访问时间-githubpage
  • macOS下如何使用Flask进行开发
  • 深度学习人脸表情识别算法 - opencv python 机器视觉 计算机竞赛
  • Threejs_06 多材质的实现
  • 使用webhook发送企业微信消息
  • java Bigdecimal
  • xftp连接wsl2
  • 庖丁解牛:NIO核心概念与机制详解 05 _ 文件锁定
  • 服务器探针-serverstatus
  • 准备篇(四)HTTP 基本原理
  • 通过多线程的方式每次发送10条MQ消息
  • 用向量数据库Milvus Cloud搭建GPT大模型+私有知识库的定制AI助手——PPT大纲助手
  • 企业怎样申请SSL证书?
  • vue动态配置路由
  • 应用软件安全编程--21密钥长度应该足够长
  • 网络协议入门 笔记一
  • 数据结构八种内部排序算法c++实现
  • Mac开发指南
  • MySQL 的执行原理(四)
  • 通过U盘重装Win10教程图解
  • 如何看待阿里云发布的全球首个容器计算服务 ACS?
  • LeetCode【32】最长的有效括号
  • 系列七、GC垃圾回收【四大垃圾算法-标记压缩算法】
  • Prompt提示词——什么是CRISPE框架?QCIPSPE框架?
  • 通达信的ebk文件
  • IDA的各个视图的含义,View-A、Hex View-1等
  • 大数据基础设施搭建 - MySQL
  • 合并两个有序链表(冒泡排序实现)
  • 【MySql密码爆破脚本】用于其他爆破工具无法使用的情况下
  • 概念解析 | 网络安全数字孪生(Digital Twin of Cyber Security, DTCS)技术