簡單了解JAVA構造方法
怎么寫
java構造方法必須滿足以下語法規(guī)則:
(1) 方法名必須與類名相同。
(2)不要聲明返回類型。
(3)不能被static、final、synchronized、abstract和native修飾。構造方法不能被子類繼承,所以用final和abstract修飾沒有意義。
構造方法用于初始化一個新建的對象,所以用static修飾沒有意義。多個線程不會同時創(chuàng)建內存地址相同的同一個對象,因此用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();來創(chuàng)建對象的時候就會出錯,這就是為什么書上要強調寫了有參數的構造方法就最好加一個無參數的構造方法.
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java 8中map()和flatMap()方法區(qū)別詳解
這篇文章主要為大家介紹了Java 8中map()和flatMap()方法區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07SpringBoot?如何通過?Profile?實現不同環(huán)境下的配置切換
SpringBoot通過profile實現在不同環(huán)境下的配置切換,比如常見的開發(fā)環(huán)境、測試環(huán)境、生產環(huán)境,SpringBoot常用配置文件主要有?2?種:properties?文件和yml文件,本文給大家詳細介紹SpringBoot?通過?Profile?實現不同環(huán)境下的配置切換,感興趣的朋友一起看看吧2022-08-08SpringMVC中解決@ResponseBody注解返回中文亂碼問題
這篇文章主要介紹了SpringMVC中解決@ResponseBody注解返回中文亂碼問題, 小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04Spring?Boot緩存實戰(zhàn)之Redis?設置有效時間和自動刷新緩存功能(時間支持在配置文件中配置)
這篇文章主要介紹了Spring?Boot緩存實戰(zhàn)?Redis?設置有效時間和自動刷新緩存,時間支持在配置文件中配置,需要的朋友可以參考下2023-05-05將ResultSet中得到的一行或多行結果集封裝成對象的實例
這篇文章主要介紹了將ResultSet中得到的一行或多行結果集封裝成對象的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05