Java构造方法有什么作用?
构造方法的作用:即给重要属性赋初始值。
Java构造方法本身并不神秘,通常它只是去完成一些初始化的工作。构造方法本身并不能去创建出一个对象,真正创建对象的是Java平台,构造方法只是Java平台在创建出一个对象之后去默认调用的方法。
构造方法需要理解的重点:
构造方法没有返回值类型,但是在构造方法中可以使用return
构造方法必须和类名一样
Java平台创建出一对象后,会根据new语句中给出的类名和参数调用相应的构造函数
一个类可以有多个构造方法,它们之间的关系是重载
Java平台是构造函数的调用者
在构造方法中可以去调用本类的其他构造方法
java编译器在编译一个类的时候,只有这个类没有任何构造方法,记住是任何,这个时候才会给类添加一个什么都不做的,空的构造方法。
通过this+构造方法实参,可以在一个构造方法中调用另一个构造方法。且必须放在构造方法的第一行。
public Car(){ this.name="保时捷"; this.color="black"; } public Car(String p_name,String p_color){ this.name=p_name; this.name=p_color: } //下面是this调用相应构造方法,也就是上面无参数的修改后 public Car(){ this("兰博基尼","white"); }//注意调用构造函数时,必须将this这句放在第一行
内容扩展
java构造函数怎么写
java构造方法必须满足以下语法规则:
(1) 方法名必须与类名相同。
(2)不要声明返回类型。
(3)不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承,所以用final和abstract修饰没有意义。
构造方法用于初始化一个新建的对象,所以用static修饰没有意义。多个线程不会同时创建内存地址相同的同一个对象,因此用synchronized修饰没有必要。
到此这篇关于Java构造方法有什么作用?的文章就介绍到这了,更多相关Java构造方法的作用详解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
详解Java的构造方法及类的初始化
目录 一. 利用构造方法给对象初始化 1. 构造方法的概念 2. 构造方法的特性 3. 子类构造方法 4. 避免在构造方法中调用重写的方法 二. 对象的默认初始化 三. 就地初始化对象 四. 类的初始化顺序 1. 普通类(没有继承关系) 2. 派生类( 有继承关系) 一. 利用构造方法给对象初始化 1. 构造方法的概念 构造方法(也称为构造器)是一个特殊的成员方法,其名字必须与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期内只调用一次. 构造方法的作用就是给对象中的成员进行初
-
java构造器 默认构造方法及参数化构造方法
目录 1.构造器 1.1 权限修饰符是public 1.2 显示定义构造器 1.构造器 构造器也叫构造方法.构造函数,是一种特殊类型的方法,负责类中成员变量(域)的初始化.构造器的用处是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化. 有两种类型的构造方法: 1.默认构造方法(无参数构造方法) 2.参数化构造方法 1.1 权限修饰符是public 权限修饰符是public,表示内部属性能被其他类访问到. java默认的构造方法是无参的. Java编译器会自动创建
-
java中有关构造方法中的输出
目录 有关构造方法中的输出 先来看一个例子 java中构造方法的作用 有关构造方法中的输出 在构造方法中的System.out.println是怎么运行的呢?下面让我们一起来看一下. 构造方法中的System.out.println: 先来看一个例子 package testasdd; public class Abcdefg { String name; int age; Abcdefg(String namel,int agel){ name=namel; age=agel; System.
-
Java 构造方法的使用详解
目录 1. 看一个需求 2. 基本语法 3. 基本介绍 4. 快速入门 5. 注意事项和使用细节 6. 练习 1. 看一个需求 看一个需求:前面我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如果现在要求,在创建人类的对象时,就直接指定这个对象的年龄和姓名,该怎么做? 这时就可以使用构造器. 2. 基本语法 [修饰符] 方法名(形参列表){ 方法体; } 说明: 构造器的修饰符可以默认, 也可以是 public protected private 构造器没有返回值 方
-
Java构造方法 super 及自定义异常throw合集详解用法
1.构造方法: public 类名(){} 区别一下 // public void 方法名(){} 分为有参,无参子类构造方法 public class Zi extends fu{ public int message=35; public Zi(){ System.out.println("我是谁"); }} 创建对象时:就会输出:子类构造方法中内容: 2.super和this使用: public void show(int message) { System.out.printl
-
java中构造方法及this关键字的用法实例详解(超详细)
目录 初识构造方法 构造方法的使用 初识this this.xx的用法 this()用于构造函数的调用 总结 初识构造方法 我们上篇讲了java中类的创建,那么让我们来实战演练一下:创建一个学生类,里面有学生的基本信息,包括姓名.性别.年龄.学号,你可能会写出这样的代码: class Student { String name; String gender; int age; long studentID; } public class TestDemo2 { public static voi
-
Java基础学习之构造方法详解
目录 一.构造方法概述 二.构造方法的注意事项 三.标准类制作 一.构造方法概述 构造方法是一种特殊的方法 作用:创建对象Student stu = new Student(); 格式: pucli class 类名{ 修饰符 类名(参数){ } } 功能:主要是完成对象数据的初始化 示例代码: class Student { private String name; private int age; //构造方法 public Student() { System.
-
Java构造方法和方法重载详解
目录 第一 构造方法的作用 第二 构造方法的特点 方法重载 总结 类的结构包括 : 1. 成员变量 2. 成员方法 3. 构造方法 4. 代码块 5. 内部类 第一 构造方法的作用 主要有以下三方面的作用: (1)在构造方法中为创建的对象初始化赋值 (2)在创建一个对象的时候,至少需要调用一个构造方法 (3)每一个类都有构造方法 一个例子加深对以上三条的理解 public class Car{ String name; String color; float price; } 上一篇文章已经讲解
-
Java字节缓存流的构造方法之文件IO流
目录 1.字节缓冲流 1.1字节缓冲流构造方法 1.2字节流复制视频 2.字符流 2.1为什么会出现字符流 2.2编码表 2.3字符串中的编码解码问题 2.4字符流中的编码解码问题 2.5字符流写数据的5种方式 2.6字符流读数据的2种方式 2.7字符流复制Java文件 2.8字符流复制Java文件改进版 2.9字符缓冲流 2.10字符缓冲流复制Java文件 2.11字符缓冲流特有功能 2.12字符缓冲流特有功能复制Java文件 2.13IO流小结 3练习案例 3.1集合到文件 3.2文件到集合
-
深入探究Java线程的创建与构造方法
目录 一.创建线程 启动线程—start 方法 方法一 方法二 方法三 方法四 方法五 方法六 二.run方法和start方法的区别 ①方法性质不同 ②执行速度不同 ③调用次数不同 总结 三.线程的构造方法 一.创建线程 启动线程—start 方法 通过覆写 run 方法创建⼀个线程对象,但线程对象被创建出来并不意味着线程就开始运行了 覆写run方法是给线程指令清单 但是start方法,则是让线程去真正的执行 方法一 继承Thread类 /** * 继承Thread创建线程 */ class M
-
java线程组构造方法源码解析
目录 线程组构造方法 为啥开启线程,就能统计到呢? 线程组下面可以有线程组吗? 线程组构造方法 我们看这个线程组,线程组名字是system,设置优先级,然后指定父线程是空,可以看出这个是根线程组,这个方法是私有的,不是给我们调用的. 把当前线程加入线程组中 我们试试上述代码逻辑,对叭,没指定线程组就加入当前创建的main线程的线程组,如果指定线程组就是当前线程组. 我们看源码也是一样: 活跃线程和活跃线程组数量都是0: 我们这是没开启线程,所以我们需要开启线程,这里就看到活跃线程数量了: 为啥开
随机推荐
- MyBatis传入集合 list 数组 map参数的写法
- XenServer 6.5 安装配置图文教程
- js打开windows上的可执行文件示例
- 对JavaScript的eval()中使用函数的进一步讨论
- JavaScript学习笔记(三):JavaScript也有入口Main函数
- 一个PHP模板,主要想体现一下思路
- asp get和post数据接收过滤
- javascript基础——String
- Android通过HTTP协议实现断点续传下载实例
- 浅谈JavaScript中数组的增删改查
- Python中的random()方法的使用介绍
- IE DOM实现存在的部分问题及解决方法
- jQuery遍历节点方法汇总(推荐)
- js实现跟随鼠标移动且带关闭功能的图片广告实例
- 推荐几本学习java的书籍
- php读取der格式证书乱码解决方法
- android中RecycleView添加下滑到底部的监听示例
- Android Studio不能获取远程依赖包的完美解决方法
- windows Server 2008R2 FTP服务器搭建图文教程
- 利用python的socket发送http(s)请求方法示例