首页 > 编程语言 >【05每天十分钟,javase基础全搞定-构造方法】

【05每天十分钟,javase基础全搞定-构造方法】

时间:2024-03-25 18:29:05浏览次数:23  
标签:无参 构造方法 05 构造 Student 返回值 javase public

构造方法

格式:[修饰符] 类名(形参列表){}

  • 构造方法也叫构造器,用于对象的初始化。
  • 构造器的名称应与它所在的类的名称一致
  • 构造方法的返回值跟普通方法有区别,普通方法的那种返回值,构造方法没有,也不能用void修饰符
  • 构造方法通过new关键字调用!
  • 构造方法的返回值类型是这个类本身。(很特殊)所以写构造方法的时候不需要写返回值。
  • 如果我们没有定义任何构造方法,则编译器会自动定义一个无参的构造方法。如果已定义则编译器不会自动添加!
  • 构造方法也是方法,只不过有特殊的作用而已。与普通方法一样,构造方法也可以重载。
public class Student {
    String name ="丽丽";
    String sex="男";
    int  age=18;

//    普通方法,这是一个没有返回值的普通方法
    public void aa(){}
//    这是一个有返回值的普通方法
    public int bb(){return 1;}

//    这是一个无参构造方法,1:方法名与类名一致。2:构造方法不能写返回值,也不能用void修饰符
    public  Student(){
        System.out.println("我是无参构造"+age+"的"+name+"是"+sex+"生");
    }
//    构造方法的重载(方法的重载讲解在04章节)也就是有参构造
    public  Student(String a,String b,int  c){
        name=a;
        sex=b;
        age=c;
        System.out.println("我是有参构造"+c+"的"+a+"是"+b+"生");
    }
    
}

没有参数构造方法是无参构造。
有参数的构造方法是有参构造。
构造方法的重载也是构造方法。

在测试类中进行测试

public class Text01 {
    public static void main(String[] args) {
//创建对象的时候调用的是无参构造,上面学生类中有无参构造是为了能正常的new Student();
        Student stu=new Student();
//        创建对象的同时调用了有参的构造,进行初始化赋值
        Student stu1=new Student("花花","女",12);
    }
}

运行结果:

我是无参构造18的丽丽是男生
我是有参构造12的花花是女生

  • 构造函数的执行是否可以代表对象已经创建?不一定!
    完整对象创建的四步,少一步都不行
    1. 分配对象空间,并将对象成员变量初始化为0或空
    2. 执行属性值的显示初始化
    3. 执行构造方法
    4. 返回对象的地址给相关的变量

标签:无参,构造方法,05,构造,Student,返回值,javase,public
From: https://blog.csdn.net/m0_56920365/article/details/136871117

相关文章

  • 平芯微PW1605,24V,30V,48V可调过压保护芯片,1A-5A可调限流芯片
    一般描述PW1605 是一款电流限制开关,具有可编程输入过压保护和输出电压箝位功能。集成保护N沟道FET具有极低的RDS(ON)功能,PW1605有助于降低正常工作期间的功率损耗。可编程软启动时间控制启动期间输出电压的压摆率。独立的使能控制允许复杂的系统排序控制。该器件还集成了......
  • 05. Java 类与对象
    Java是彻底的、纯粹的面向对象语言。面向对象是Java最重要的特性。本章将介绍面向对象基础知识。特点:相对面向过程而言,面向对象和面向过程都是一种思想将功能封装进对象,强调具备了功能的对象。是一种符合人们思考习惯的思想,可以将复杂的事情简单化,将程序员从执行......
  • 05-快速理解SparkSQL的DataSet
    1定义一个数据集是分布式的数据集合。Spark1.6增加新接口Dataset,提供RDD的优点:强类型、能够使用强大lambda函数SparkSQL优化执行引擎的优点可从JVM对象构造Dataset,然后函数式转换(map、flatMap、filter等)操作。DatasetAPI在Scala和Java中可用。Python不支持DatasetAPI,......
  • Lecture 05 Rasterization 1(Triangles)
    Lecture05Rasterization1(Triangles)什么是屏幕一组像素数组的大小:分辨率一种典型的光栅成像设备光栅光栅化==画在屏幕离像素一个个小方块,每个方块中的颜色不会变化(实际上不准确,这样描述只是方便理解)颜色是RGB三个值的混合定义屏幕空间像素的坐标写成\((x,......
  • 替代 Evernote!离线优先、数据安全的个人笔记 | 开源日报 No.205
    laurent22/joplinStars:40.4kLicense:NOASSERTIONjoplin是一个安全的笔记和待办事项应用程序,具有Windows、macOS、Linux、Android和iOS的同步功能。可以处理大量笔记,可以组织成笔记本笔记可搜索,并且支持标签和Markdown格式支持从Evernote导入格式化内容和......
  • C105 整体二分+树状数组 P2617 Dynamic Rankings
    视频链接:C105整体二分+树状数组P2617DynamicRankings_哔哩哔哩_bilibili  C96树状数组套权值线段树P2617DynamicRankings-董晓-博客园(cnblogs.com)C104【模板】整体二分+树状数组P3834可持久化线段树2-董晓-博客园(cnblogs.com)LuoguP2617Dynamic......
  • PAT乙级 1055 集体照 C语言
    集体照拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下:每排人数为N/K(向下取整),多出来的人全部站在最后一排;后排所有人的个子都不比前排任何人矮;每排中最高者站中间(中间位置为m/2+1,其中m为该排人数,除法向下取整);每排其他人以中间人为轴,按身高......
  • PAT乙级 1054 求平均值 C语言
    本题的基本要求非常简单:给定N个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是[−1000,1000]区间内的实数,并且最多精确到小数点后2位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式:输入第一行给出正整数N(≤100)。随......
  • STM32G431RBT6之定时器05
    以该框图为例: 选择引脚配置参数 80MHz变为100Hz的配置设置占空比 打开定时器 手动更改占空比voidkeyb2_3_func(){if(key[1].single_flag==1){pa6_duty+=10;if(pa6_duty>=100){pa6_duty=10;}......
  • 【python】(05)如何python中的logging模块记录日志信息
    系列文章回顾【python】(01)初识装饰器Decorator【python】(02)初识迭代器Iterator【python】(03)初识生成器Generator【python】(04)python中实现多任务并发和并行的区别【python】(05)如何python中的logging模块记录日志信息文章目录一.Logging模块的常用组......