新手了解java 類,對(duì)象以及封裝基礎(chǔ)知識(shí)
1、類
什么是類
類是具備某些共同特征的實(shí)體的集合,是對(duì)所具有相同特征實(shí)體的抽象。
Java中定義類的基本語法
訪問修飾符 class 類名{}
public class Student{
//定義了一個(gè)學(xué)生類
}
成員變量
成員變量就是對(duì)象所擁有的屬性
基本語法
訪問修飾符 [可選修飾符] 數(shù)據(jù)類型 變量名稱;
public class Student{
//定義了一個(gè)學(xué)生類
public int age;
String name;
protected long tel;
private double a;
}
方法
放法可以用來描述對(duì)象動(dòng)作
基本語法
訪問修飾符 [可選修飾符] 數(shù)據(jù)類型 方法名稱(參數(shù)列表){方法體};
public class Student{
public void print(){
System.out.print("方法")
}
public int sum(int a, int b){
return a + b;
}
}
2、對(duì)象
什么是對(duì)象
對(duì)象就是類的實(shí)例
對(duì)象的創(chuàng)建
基本語法
類型 對(duì)象名稱 = new 類型();
public class StudentTest{
public static void main(String[] args){
Student stu = new Student();
}
}
3.方法的重載 什么是方法的重載
方法的重載就是在一個(gè)類當(dāng)中存在多個(gè)同名的方法;
這些方法遵循以下規(guī)則
- 方法名相同
- 方法的參數(shù)列表不同
- 1)參數(shù)的個(gè)數(shù)不同
- 2)參數(shù)的類型不完全相同,包括數(shù)據(jù)類型以及數(shù)據(jù)類型的順序
- 3)與參數(shù)名稱無關(guān)
- 與方法的返回值類型、訪問修飾符無關(guān)
public class Student{
/**
*定義一個(gè)求和方法根據(jù)傳入?yún)?shù)的值進(jìn)行求和,并返回結(jié)果
*/
public int sum(int a,int b){
return a + b;
}
//參數(shù)的個(gè)數(shù)不同
public int sum(int a,int b,int c){
return a + b + c;
}
//參數(shù)列表的類型不同
public int sum(int a,short b){
return a + b;
}
//參數(shù)列表類型順序不同
public int sum(short a,int b){
return a + b;
}
}
4、構(gòu)造器 什么是構(gòu)造方法
- 構(gòu)造方法的結(jié)構(gòu)和普通方法類似,但是和普通方法完全不同兩個(gè)代碼塊;
- 構(gòu)造方法也是方法,意味著使用了構(gòu)造方法,方法會(huì)執(zhí)行,也能完成功能
- 構(gòu)造方法就是一個(gè)代碼塊【就是一個(gè)結(jié)構(gòu) ,構(gòu)造方法和 字段 方法一樣都是一個(gè)類中的成員之一
- 構(gòu)造方法也該存在于類的結(jié)構(gòu)體中
構(gòu)造方法語法:
- 構(gòu)造方法的名字和類名完全一致(包括大小寫完全一致)
- 沒有返回值類型(void也不行)
- 構(gòu)造方法方法體不能返回任何的值(即不能在方法體中return 值)
- 其他的和普通方法類似 ,可以有修飾符(
public、protected、private、默認(rèn)),可以有形參列表 - 構(gòu)造方法必須有方法體
- 構(gòu)造方法不能有任何非訪問性質(zhì)的修飾符修飾,例如
static、final、synchronized、abstract等都不能修飾構(gòu)造方法。
注意:new Student() 這個(gè)整體既是一個(gè)Student對(duì)象,又是調(diào)用的Student的無參數(shù)構(gòu)造方法
構(gòu)造方法特點(diǎn)
1.類中構(gòu)造方法特點(diǎn):
- ① 每一個(gè)類中都至少有一個(gè)構(gòu)造方法;
- ② 如果沒有看到(顯示的),那么存在一個(gè)隱式的無參數(shù)的構(gòu)造方法;
- ③ 如果一個(gè)類中有顯示的構(gòu)造方法,那么隱式的無參的構(gòu)造方法就不存在了;
構(gòu)造方法的作用
在創(chuàng)建對(duì)象的同時(shí)給對(duì)象的成員變量賦值(初始化工作)
模板語法
public class 類名{
成員變量 (字段);
構(gòu)造方法(有參、無參);
方法 (具體的一個(gè)功能行為);
}
public class Student{
public String name;
public int age;
/**
無參構(gòu)造
*/
public Student(){}
/**
有參構(gòu)造
*/
public Student(String name,int age){
}
}
5.this this指代當(dāng)前對(duì)象,即哪個(gè)對(duì)象調(diào)用就指代哪個(gè)對(duì)象
this****用途:
- 解決局部變量和成員變量的二義性
- 在本類之間 ,構(gòu)造方法之間的相互調(diào)用 this()調(diào)用無參數(shù)的構(gòu)造方法,this(…)可以添加參數(shù),表示調(diào)用有參數(shù)的構(gòu)造方法
- this作為參數(shù)傳遞,this作為返回值
public class Student{
public String name;
public int age;
/**
無參構(gòu)造
*/
public Student(){}
/**
有參構(gòu)造
*/
public Student(String name,int age){
this();//調(diào)用構(gòu)造器,只能寫在第一句
this.name = name //調(diào)用屬性
}
}
6.封裝
封裝:指的是將類中不想被外界訪問的成員私有化。
封裝的作用
封裝是為了保護(hù)內(nèi)部數(shù)據(jù)的安全:
1.不希望在外部類中隨意訪問對(duì)象的成員變量
2.達(dá)到權(quán)限要求的才能訪問
怎么封裝
1.如何控制程序中的訪問 ?
通過給類中的成員(字段,方法,構(gòu)造方法)添加訪問權(quán)限修飾符來實(shí)現(xiàn)封裝(訪問控制)
2.什么是訪問權(quán)限:簡單的認(rèn)為訪問權(quán)限就是不同級(jí)別的人能夠干不同級(jí)別的事,不同級(jí)別的人能看到的頁面是不同的
步驟
- 1. 私有化成員變量(用private修飾成員變量)
- 2. 為每一個(gè)成員變量提供合理的
- **getXxx()**方法 獲取成員變量的值,如果當(dāng)前成員變量類型是boolean類型,將getXxx()改為 isXxx()
- **setXxx(…)**方法 設(shè)置成員變量的值
- 3. 提供一個(gè)無參構(gòu)造,和全參的構(gòu)造
- 4. 該類用public修飾
public class Student{
private String name;
private int age;
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
public String getAge(){
return this.age;
}
public void setAge(String age){
this.age = age;
}
}
總結(jié)
本篇文章就到這里了,希望可以給你提供幫助,也希望您能多多關(guān)注腳本之家的更多內(nèi)容!
- Java面向?qū)ο笾橄箢?接口的那些事
- Java反射(Class類,Class對(duì)象獲取)
- 手把手帶你粗略了解Java--類和對(duì)象
- Java面向?qū)ο笾畠?nèi)部類案例講解
- java對(duì)象轉(zhuǎn)化成String類型的四種方法小結(jié)
- 一篇文章帶你深入了解Java對(duì)象與Java類
- Java實(shí)現(xiàn)普通類注入service對(duì)象
- 帶你入門Java的類與對(duì)象
- 淺談Java面向?qū)ο笾畠?nèi)部類
- java各種類型對(duì)象占用內(nèi)存情況分析
- 帶你快速了解Java中類和對(duì)象的關(guān)系
- java中類和對(duì)象的詳細(xì)介紹
- Java中的對(duì)象、類、抽象類、接口、繼承之間的聯(lián)系
- JavaWeb實(shí)體類轉(zhuǎn)為json對(duì)象的實(shí)現(xiàn)方法
- Java面向?qū)ο蠡A(chǔ),類,變量,方法
- Java 基礎(chǔ)語法讓你弄懂類和對(duì)象
相關(guān)文章
RabbitMQ消費(fèi)者限流實(shí)現(xiàn)消息處理優(yōu)化
這篇文章主要介紹了RabbitMQ消費(fèi)者限流實(shí)現(xiàn)消息處理優(yōu)化,消費(fèi)者限流是用于消費(fèi)者每次獲取消息時(shí)限制條數(shù),注意前提是手動(dòng)確認(rèn)模式,并且在手動(dòng)確認(rèn)后才能獲取到消息,感興趣想要詳細(xì)了解可以參考下文2023-05-05
Java socket通信模擬QQ實(shí)現(xiàn)多人聊天室
Socket在Java實(shí)戰(zhàn)網(wǎng)絡(luò)通信編程應(yīng)用中有非常重要的作用,你想要跟別人聯(lián)系都得通過socket占據(jù)端口來實(shí)現(xiàn),掌握Socket技術(shù)不僅在聊天應(yīng)用程序中需要用到(比如QQ什么的都都是用socket來寫的),而且對(duì)于學(xué)習(xí) Asp.net 也非常有幫助2022-07-07
Java自定義實(shí)現(xiàn)equals()方法過程解析
這篇文章主要介紹了Java自定義實(shí)現(xiàn)equals()方法過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
SpringBoot實(shí)現(xiàn)抽獎(jiǎng)算法的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何通過SpringBoot實(shí)現(xiàn)抽獎(jiǎng)算法,文中的示例代碼簡潔易懂,具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下2023-06-06
Java實(shí)現(xiàn)基于清除后分配規(guī)則的垃圾回收器詳解
垃圾回收是 Java 語言的一項(xiàng)重要特性,自動(dòng)管理對(duì)象內(nèi)存,防止內(nèi)存泄漏和野指針問題,下面我們就來看看如何利用Java實(shí)現(xiàn)基于清除后分配規(guī)則的垃圾回收器吧2025-03-03

