詳解Java中類(lèi)與對(duì)象的關(guān)系
前言
已經(jīng)開(kāi)始類(lèi)與對(duì)象的講解了,正式步入了Java的道路了,在講解前,我們都知道Java是面向?qū)ο蟮木幊陶Z(yǔ)言,那么什么是對(duì)象呢?還有類(lèi)是什么呢?
一、類(lèi)與對(duì)象的介紹
類(lèi)的關(guān)鍵字是class,在Java編程里,類(lèi)的作用相當(dāng)于機(jī)械師手中的構(gòu)造圖,如果沒(méi)有構(gòu)造圖,就無(wú)法打造武器,同樣如果沒(méi)有類(lèi),就無(wú)法實(shí)例化。
對(duì)象就是打造人,通過(guò)對(duì)象將類(lèi)實(shí)例化。
個(gè)人結(jié)論:工匠 使用錘子根據(jù)說(shuō)明書(shū)打造出武器, 對(duì)象 編譯器 類(lèi) 實(shí)例化。
- 類(lèi)可以有很多對(duì)象,而對(duì)象卻只有一個(gè)類(lèi)。
- 類(lèi)有成員變量和成員方法。
- 類(lèi)不占空間,只有實(shí)例化時(shí),才開(kāi)辟相應(yīng)空間。
二、類(lèi)的實(shí)例化
類(lèi)相當(dāng)于構(gòu)造圖,然而構(gòu)造圖上肯定寫(xiě)了需要的零件和打造的方法,所以類(lèi)就有著成員變量和成員方法。
然后對(duì)象才知道如何打造(開(kāi)辟空間)。
類(lèi)和對(duì)象的定義和實(shí)例化的格式:
// 創(chuàng)建類(lèi) 類(lèi)名
class <class_name>{
field;//成員屬性
method;//成員方法
}
// 實(shí)例化對(duì)象
<class_name> <對(duì)象名> = new <class_name>();
class為定義類(lèi)的關(guān)鍵字,ClassName為類(lèi)的名字,{}中為類(lèi)的主體。 類(lèi)中的元素稱為:成員屬性。類(lèi)中的函數(shù)稱為:成員方法
格式已經(jīng)出來(lái)了,現(xiàn)在我們敲一個(gè)代碼出來(lái)看看:
class Person {
int age;//成員屬性 實(shí)例變量
String name;
String sex;
//成員方法
public void eat() {
System.out.println("吃飯!");
}
public void sleep() {
System.out.println("睡覺(jué)!");
}
}
public class Main{
public static void main(String[] args) {
Person person = new Person(); //通過(guò)new實(shí)例化對(duì)象
//產(chǎn)生對(duì)象 實(shí)例化對(duì)象
Person person2 = new Person();
Person person3 = new Person();
}這就是創(chuàng)建類(lèi)和對(duì)象的具體方法了。
三.類(lèi)與對(duì)象的使用方法
3.1對(duì)象的初始化
對(duì)象的初始化有兩種方式。
第一種:使用圓點(diǎn)成員運(yùn)算符( .) 可以直接對(duì)指定對(duì)象實(shí)例化的成員變量進(jìn)行賦值。
對(duì)象.屬性:表示調(diào)用類(lèi)之中的成員變量;對(duì)象.方法():表示調(diào)用類(lèi)之中的成員方法。
第二種:使用構(gòu)造函數(shù),使用函數(shù)可以對(duì)成員變量進(jìn)行初始化。
類(lèi)名(參數(shù)){ 結(jié)構(gòu)體 };
代碼示例圖:
class Person {
int age;//成員屬性 實(shí)例變量
String name;
String sex;
//構(gòu)造函數(shù)
Person(){
}
Person(String names){
name=names;
}
//成員方法
public void eat() {
System.out.println("吃飯!");
}
public void sleep() {
System.out.println("睡覺(jué)!");
}
}
public class Main{
public static void main(String[] args) {
Person person = new Person(); //通過(guò)new實(shí)例化對(duì)象
//初始化person成員變量name,調(diào)用成員方法eat()
person.name="李四"; //操作屬性內(nèi)容
person.eat(): //調(diào)用成員方法
//構(gòu)造方法初始化
Person person2 = new Person("張三");
Person person3 = new Person();
} 3.2內(nèi)存顯示圖
類(lèi)的構(gòu)造圖,但一旦實(shí)例化,就開(kāi)辟出了內(nèi)存,存放著對(duì)應(yīng)的變量和方法。
代碼內(nèi)存顯示圖:

在main函數(shù)里創(chuàng)建了三個(gè)對(duì)象,person、person1、person2。每個(gè)對(duì)象都進(jìn)行了實(shí)例化,在堆空間創(chuàng)建了內(nèi)存。如上圖,相當(dāng)于每一個(gè)對(duì)象都有屬于它的空間。
四.this的使用方法
this是什么?this是關(guān)鍵字,代表著當(dāng)前對(duì)象的引用。當(dāng)參數(shù)名和成員變量相同時(shí),使用this來(lái)引用,則代表的是成員變量。

結(jié)論:從圖中我們可以分析到 this不但可以引用成員變量,也可以使用構(gòu)造函數(shù)。所以this便是當(dāng)前對(duì)象。
注:只允許在當(dāng)前類(lèi)使用,構(gòu)造方法中使用,需要放在第一行。
總結(jié)
- 類(lèi)相當(dāng)于藍(lán)圖,由對(duì)象根據(jù)類(lèi)來(lái)將其實(shí)例化。
- public修飾的類(lèi)必須與文件名相同
- this相當(dāng)于對(duì)象名,作用和對(duì)象名一樣,可以引用成員變量、構(gòu)造函數(shù)、成員函數(shù)。但引用構(gòu)造函數(shù)需要放在第一行。
- 類(lèi)不占空間,但是對(duì)象實(shí)例化之后需要開(kāi)辟空間。
在類(lèi)與對(duì)象之后,還會(huì)有封裝、繼承、抽象、多態(tài)和接口相關(guān)的知識(shí),在類(lèi)與對(duì)象的基礎(chǔ)上不斷的延長(zhǎng)。
到此這篇關(guān)于詳解Java中類(lèi)與對(duì)象的關(guān)系的文章就介紹到這了,更多相關(guān)Java類(lèi)與對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java EasyExcel實(shí)現(xiàn)導(dǎo)出多sheet并設(shè)置單元格樣式
EasyExcel是一個(gè)基于Java的、快速、簡(jiǎn)潔、解決大文件內(nèi)存溢出的Excel處理工具,下面我們就來(lái)學(xué)習(xí)一下EasyExcel如何實(shí)現(xiàn)導(dǎo)出多sheet并設(shè)置單元格樣式吧2023-11-11
HttpServletRequestWrapper干預(yù)Request處理流程解析
這篇文章主要分析在?Tomcat的處理?http?請(qǐng)求的流程中干預(yù)?Request對(duì)象,?通過(guò)基于HttpServletRequestWrapper和?Filter組合進(jìn)行干預(yù),有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-09-09
Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件 FTP協(xié)議分析(1)
這篇文章主要介紹了Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件的第一篇,針對(duì)FTP協(xié)議進(jìn)行分析,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
java利用pdfbox+poi往pdf插入數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于java利用pdfbox+poi如何往pdf插入數(shù)據(jù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-02-02
學(xué)習(xí)不同 Java.net 語(yǔ)言中類(lèi)似的函數(shù)結(jié)構(gòu)
這篇文章主要介紹了學(xué)習(xí)不同 Java.net 語(yǔ)言中類(lèi)似的函數(shù)結(jié)構(gòu),函數(shù)式編程語(yǔ)言包含多個(gè)系列的常見(jiàn)函數(shù)。但開(kāi)發(fā)人員有時(shí)很難在語(yǔ)言之間進(jìn)行切換,因?yàn)槭煜さ暮瘮?shù)具有不熟悉的名稱。函數(shù)式語(yǔ)言傾向于基于函數(shù)范例來(lái)命名這些常見(jiàn)函數(shù)。,需要的朋友可以參考下2019-06-06
SpringSecurity實(shí)現(xiàn)自定義用戶認(rèn)證方案
Spring?Security?實(shí)現(xiàn)自定義用戶認(rèn)證方案可以根據(jù)具體需求和業(yè)務(wù)場(chǎng)景進(jìn)行設(shè)計(jì)和實(shí)施,滿足不同的安全需求和業(yè)務(wù)需求,這種靈活性使得認(rèn)證機(jī)制能夠更好地適應(yīng)各種復(fù)雜的環(huán)境和變化?,本文給大家介紹了SpringSecurity實(shí)現(xiàn)自定義用戶認(rèn)證方案,需要的朋友可以參考下2025-01-01

