简单了解JAVA构造方法

 更新时间:2019年06月04日 10:39:13   作者:藏色散人  
构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法.下面小编和大家来一起学习一下吧

怎么写

 java构造方法必须满足以下语法规则:

(1) 方法名必须与类名相同。

(2)不要声明返回类型。

(3)不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承,所以用final和abstract修饰没有意义。

构造方法用于初始化一个新建的对象,所以用static修饰没有意义。多个线程不会同时创建内存地址相同的同一个对象,因此用synchronized修饰没有必要。

此外,Java语言不支持native类型的构造方法。

例:

public class Sample {
private int x;
public Sample() { // 不带参数的构造方法
this(1);
}
public Sample(int x) { //带参数的构造方法
this.x=x;
}
public int Sample(int x) { //不是构造方法
return x++;
}
}

使用方法

java构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法,如:class a {}//没有任何构造函数。

构造方法就是与类同名的那个方法,它的作用是可以用来初始化,例子如下

class Person //人类{
public Person(String n,int a) //构造方法
{
name = n; age = a;
}
private string name;
private int age;
}
static void main(String[] args){
Person p = new Person("张三",14);//这就是作用
}

new一个对象的时候要用到构造函数,

例如

Hello hello = new Hello();

这时调用的是Hello的无参数构造方法;

Hello hello = new Hello("hi");

这个是调用Hello有参数构造方法,

在JAVA中如果不写构造方法的话,会默认加上一个无参数的构造方法,但是如果已经有了一个有参数的构造方法,那么无参数的构造方法就不会默认被加上.

如果Hello类中已经有了一个有参数的构造方法,这时再使用 Hello hello = new Hello();来创建对象的时候就会出错,这就是为什么书上要强调写了有参数的构造方法就最好加一个无参数的构造方法.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java 8中map()和flatMap()方法区别详解

    Java 8中map()和flatMap()方法区别详解

    这篇文章主要为大家介绍了Java 8中map()和flatMap()方法区别详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • java 实现增量同步和自定义同步的操作

    java 实现增量同步和自定义同步的操作

    这篇文章主要介绍了java 实现增量同步和自定义同步的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • SpringBoot 如何通过 Profile 实现不同环境下的配置切换

    SpringBoot 如何通过 Profile 实现不同环境下的配置切换

    SpringBoot通过profile实现在不同环境下的配置切换,比如常见的开发环境、测试环境、生产环境,SpringBoot常用配置文件主要有 2 种:properties 文件和yml文件,本文给大家详细介绍SpringBoot 通过 Profile 实现不同环境下的配置切换,感兴趣的朋友一起看看吧
    2022-08-08
  • IDEA热部署配置详细教程

    IDEA热部署配置详细教程

    这篇文章主要介绍了IDEA热部署配置详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • SpringMVC中解决@ResponseBody注解返回中文乱码问题

    SpringMVC中解决@ResponseBody注解返回中文乱码问题

    这篇文章主要介绍了SpringMVC中解决@ResponseBody注解返回中文乱码问题, 小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 基于java中的PO VO DAO BO POJO(详解)

    基于java中的PO VO DAO BO POJO(详解)

    下面小编就为大家带来一篇基于java中的PO VO DAO BO POJO(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Spring Boot缓存实战之Redis 设置有效时间和自动刷新缓存功能(时间支持在配置文件中配置)

    Spring Boot缓存实战之Redis 设置有效时间和自动刷新缓存功能(时间支持在配置文件中配置)

    这篇文章主要介绍了Spring Boot缓存实战 Redis 设置有效时间和自动刷新缓存,时间支持在配置文件中配置,需要的朋友可以参考下
    2023-05-05
  • 将ResultSet中得到的一行或多行结果集封装成对象的实例

    将ResultSet中得到的一行或多行结果集封装成对象的实例

    这篇文章主要介绍了将ResultSet中得到的一行或多行结果集封装成对象的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Spring WebSocket 404错误的解决方法

    Spring WebSocket 404错误的解决方法

    这篇文章主要为大家详细介绍了Spring WebSocket 404错误的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Java数据结构之顺序表篇

    Java数据结构之顺序表篇

    顺序表,全名顺序存储结构,是线性表的一种。线性表用于存储逻辑关系为“一对一”的数据,顺序表自然也不例外,不仅如此,顺序表对数据物理存储结构也有要求。顺序表存储数据时,会提前申请一整块足够大小的物理空间,然后将数据依次存储起来,存储时数据元素间不留缝隙
    2022-01-01

最新评论