日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JAVA构造函数是不是封装_Java 封装与构造函数

發布時間:2025/3/8 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA构造函数是不是封装_Java 封装与构造函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

面向對象思想思想的三個特征:封裝,繼承,多態。

封裝:

表現:函數就是一個最基本的封裝體,類也是一個封裝體。

好處:1、提高了代碼的復用性,

2、隱藏了實現細節,可以對外提供可以訪問的方法,便于調用者的使用。

3、提高了安全性。

下面通過私有化(private)來對封裝進行理解:

class Person

{

//屬性:

private int age;? ? //age被修飾為了私有

//行為:

void speak()

{

System.out.println("age="+age);

}

}

年齡已被私有,錯誤的值無法賦值,可是正確的值也賦值不了,需要提供訪問方式。

對變量的訪問操作有兩個動作:賦值(設置 set),取值(獲取 get)

所以,對私有的變量訪問的方式就是 setAge? getAge

//定義對age賦值的方法。

void setAge(int a)

{

age = a;

}

//定義一個獲取age值得方法。

int getAge ()

{

return age;

}(以后再描述事物,屬性都私有化,并提供setXxx? getXxx方法對其進行訪問。)

記住:私有僅僅是封裝的體現形式而已。

構造函數:

為了描述事物更準確,發現事物對應的很多對象一創建時,就有了一些初始化的數據。這需要通過“構造函數來完成”。

構造函數怎么在代碼中體現?

1、沒有返回值類型。因為構造對象,創建完就結束,不需要結果,void也不要寫,。

2、構造函數名稱和類名一致。

3、沒有具體的返回值。

在Person類中定義一個構造函數

class Person

{

//屬性:姓名,年齡。

private String name;

private int age;

//一初始化,既沒有姓名,又沒有年齡。

Person()

{

}

//定義構造函數,對象一創建就具備姓名。

Person(String n)

{

//將接收到的值賦值給對象的name

name = n;

}

//一初始化既有姓名,又有年齡。

Person(String n,int a)

{

name = n;

age = a;

}

//行為。

public void speak()

{

System.out.println("name="+name+",age="+age);

}

}

class PersonDemo2

{

public static void main(String[] args)

{

Person p = new Person("lisi");//對象創建時,必須會調用對應的構造函數,因為對象需要初始化。

//? ? ? ? Person p2 = new Person("wangwu",23);

}

}

構造函數的細節: 1,一個類中可以有多個構造函數,它們的存在是以重載的形式體現的。 2,構造函數中也是有return語句的,用于結束初始化動作的。 3,構造函數是否能被private修飾呢?能,作用:其他程序無法創建該類的對象。

構造函數和一般函數的區別? 1,寫法不一樣。 2,運行上有差別,對象一創建就會調用對應的構造函數。 一般方法是對象創建后,才會調用所需的一般函數。 問:有了構造函數初始化姓名,那么還需要setName方法嗎? 需要,因為對象創建后,如果需要對數據進行修改,可以通過set完成。 3,構造函數在對象創建時,僅調用一次(初始化動作只做一次,而且先執行)。

一般方法可以被對象調用多次。

總結

以上是生活随笔為你收集整理的JAVA构造函数是不是封装_Java 封装与构造函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。