首页 > 编程语言 >【Java基础】类的结构之三:构造器(构造方法)

【Java基础】类的结构之三:构造器(构造方法)

时间:2022-09-05 17:38:36浏览次数:64  
标签:Java 构造方法 之三 构造 radius new Circle public

1.构造器是什么

也称为构造方法、构造函数。
(1)方法名与类名相同
(2)没有返回值类型
(3)不能被static、final、synchronized、abstract、native修饰

public class Circle {
    private double radius;

//构造器
    public Circle(){
        System.out.println("创建对象");
    }
}

2.构造器有什么用

(1)用于创建对象
执行Circle circle = new Circle();,调用了构造方法
image

(2)初始化对象

    public Circle(double radius){
        this.radius = radius;
    }

执行下面语句,发现对象的属性赋值好了

        Circle circle1 = new Circle(2.0);
        System.out.println(circle1.radius);//2.0

3.系统默认构造器

不定义构造器,发现也能使用Circle circle = new Circle();
说明系统默认提供了一个空参构造器,一个类中至少有一个构造器。
默认构造器的权限修饰符和类一样。
只定义如下构造器,再使用之前的系统默认构造器Circle circle = new Circle();

    public Circle(double radius){
        this.radius = radius;
    }

发现报错了,说明显示定义了构造器后系统默认构造器就失效了
image

4.构造器重载

相当于方法重载,参数个数或类型不同

    public Circle(){
        System.out.println("创建对象");
    }

    public Circle(double radius){
        this.radius = radius;
    }

标签:Java,构造方法,之三,构造,radius,new,Circle,public
From: https://www.cnblogs.com/zhishu/p/16658927.html

相关文章

  • JavaDoc
    JavaDocjavadoc命令是用来生成自己API文档的参数信息:@author作者名@version版本号@since指明需要最早使用的jdk版本@param参数名@return返回值情况......
  • 【设计模式】Java设计模式 - 建造者模式
    【设计模式】Java设计模式-建造者模式......
  • Java学习-第一部分-第二阶段-第八节:IO流
    IO流笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html)IO流体系图文件什么是文件文件.对我们并不陌生,文件是保存数据的地方,比如大家经常使用的word文......
  • 【Java基础】面向对象的特征:封装性和权限修饰符
    1.封装(1)什么是封装使用洗衣机时,只需要放入衣物,按下开关和洗涤模式,不需要了解洗衣机的内部结构。只需要知道这个程序怎么用,隐藏对象内部的复杂性,只对外公开简单的接口,便......
  • JavaScript 特殊数字值 NaN
    NaN是唯一一个不和自身不相等的值,Array》prototype.indexOf使用了严格相等,因此不能通过该方法在数组中查找NaN:NaN===NaN//false[NaN].indexof(NaN);//false如......
  • java下载文件的几种方式
    publicHttpServletResponsedownload(Stringpath,HttpServletResponseresponse){try{//path是指欲下载的文件的路径。Filefile=new......
  • Java反序列化之CC6链
    Gadgetchainjava.io.ObjectInputStream.readObject()java.util.HashMap.readObject()java.util.HashMap.hash()org.apache.commons.collections.keyvalue.TiedMapEntr......
  • 【Java面试】面试自閟了!工作5年的小伙伴今天面试被吊打问我,并行和并发有什么区别?
    “并行和并发有什么区别?”关于这个问题,很多工作5年以上的同学都回答不出来。或者说,自己有一定的理解,但是不知道怎么表达。大家好,我是Mic,一个工作了14年的Java程序员。......
  • (转)java中常见的关键字
    原文:https://www.cnblogs.com/zxy6/p/14176980.html什么是关键字呢?概述:关键字就是在java语言中赋予特殊含义的单词特点:1.组成的关键字的单词全是小写......
  • java RSA生成公钥和私钥
    1.随机生成密钥对/***随机生成密钥对*@throwsNoSuchAlgorithmException*/publicstaticvoidgenKeyPair()throwsNoSuchAlgorithmExcepti......