一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 新手了解java 類,對象以及封裝基礎知識

新手了解java 類,對象以及封裝基礎知識

2021-09-27 01:16王星偉QAQ Java教程

JS是一門面向對象語言,其對象是用prototype屬性來模擬的,本文介紹了如何封裝JS對象,具有一定的參考價值,下面跟著小編一起來看下吧,希望對你有所幫助

1、類

什么是類

? 類是具備某些共同特征的實體的集合,是對所具有相同特征實體的抽象。

Java中定義類的基本語法

訪問修飾符 class 類名{}

?
1
2
3
public class Student{
    //定義了一個學生類
}

成員變量

成員變量就是對象所擁有的屬性

基本語法

訪問修飾符 [可選修飾符] 數據類型 變量名稱;

?
1
2
3
4
5
6
7
public class Student{
    //定義了一個學生類
    public int age;
    String name;
    protected long tel;
    private double a;
}

方法

放法可以用來描述對象動作

基本語法

訪問修飾符 [可選修飾符] 數據類型 方法名稱(參數列表){方法體};

?
1
2
3
4
5
6
7
8
public class Student{
    public void print(){
       System.out.print("方法")
    }
    public int sum(int a, int b){
        return a + b;
    }
}

2、對象

什么是對象

對象就是類的實例

對象的創建

基本語法

類型 對象名稱 = new 類型();

?
1
2
3
4
5
public class StudentTest{
    public static void main(String[] args){
        Student stu = new Student();
    }
}

3.方法的重載 什么是方法的重載

方法的重載就是在一個類當中存在多個同名的方法;

這些方法遵循以下規則

  • 方法名相同
  • 方法的參數列表不同
    • ? 1)參數的個數不同
    • ? 2)參數的類型不完全相同,包括數據類型以及數據類型的順序
    • ? 3)與參數名稱無關
  • 與方法的返回值類型、訪問修飾符無關
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Student{
    /**
    *定義一個求和方法根據傳入參數的值進行求和,并返回結果
    */
    public int sum(int a,int b){
        return a + b;
    }
    //參數的個數不同
    public int sum(int a,int b,int c){
        return a + b + c;
    }
    //參數列表的類型不同
    public int sum(int a,short b){
        return a + b;
    }
    //參數列表類型順序不同
    public int sum(short a,int b){
        return a + b;
    }
}

4、構造器 什么是構造方法

  • 構造方法的結構和普通方法類似,但是和普通方法完全不同兩個代碼塊;
  • 構造方法也是方法,意味著使用了構造方法,方法會執行,也能完成功能
  • 構造方法就是一個代碼塊【就是一個結構 ,構造方法和 字段 方法一樣都是一個類中的成員之一
  • 構造方法也該存在于類的結構體中

構造方法語法:

  • 構造方法的名字和類名完全一致(包括大小寫完全一致)
  • 沒有返回值類型(void也不行)
  • 構造方法方法體不能返回任何的值(即不能在方法體中return 值)
  • 其他的和普通方法類似 ,可以有修飾符(public、protected、private、默認),可以有形參列表
  • 構造方法必須有方法體
  • 構造方法不能有任何非訪問性質的修飾符修飾,例如 static、final、synchronized、abstract等都不能修飾構造方法。

注意new Student() 這個整體既是一個Student對象,又是調用的Student的無參數構造方法

構造方法特點

1.類中構造方法特點:

  • ① 每一個類中都至少有一個構造方法;
  • ② 如果沒有看到(顯示的),那么存在一個隱式的無參數的構造方法;
  • ③ 如果一個類中有顯示的構造方法,那么隱式的無參的構造方法就不存在了;

構造方法的作用

在創建對象的同時給對象的成員變量賦值(初始化工作)

模板語法

?
1
2
3
4
5
public class 類名{
成員變量  (字段);
構造方法(有參、無參);
方法 (具體的一個功能行為);
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Student{
    public String name;
    public int age;
    /**
    無參構造
    */
    public Student(){}
     /**
    有參構造
    */
    public Student(String name,int age){
    }
}

5.this this指代當前對象,即哪個對象調用就指代哪個對象

this****用途:

  • 解決局部變量和成員變量的二義性
  • 在本類之間 ,構造方法之間的相互調用 this()調用無參數的構造方法,this(…)可以添加參數,表示調用有參數的構造方法
  • this作為參數傳遞,this作為返回值
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Student{
    public String name;
    public int age;
    /**
    無參構造
    */
    public Student(){}
     /**
    有參構造
    */
    public Student(String name,int age){
        this();//調用構造器,只能寫在第一句
        this.name = name //調用屬性
    }
}

6.封裝

封裝:指的是將類中不想被外界訪問的成員私有化。

封裝的作用

封裝是為了保護內部數據的安全:

1.不希望在外部類中隨意訪問對象的成員變量

2.達到權限要求的才能訪問

怎么封裝

1.如何控制程序中的訪問 ?

通過給類中的成員(字段,方法,構造方法)添加訪問權限修飾符來實現封裝(訪問控制)

2.什么是訪問權限:簡單的認為訪問權限就是不同級別的人能夠干不同級別的事,不同級別的人能看到的頁面是不同的

步驟

  • 1. 私有化成員變量(用private修飾成員變量)
  • 2. 為每一個成員變量提供合理的
    • **getXxx()**方法 獲取成員變量的值,如果當前成員變量類型是boolean類型,將getXxx()改為 isXxx()
    • **setXxx(…)**方法 設置成員變量的值
  • 3. 提供一個無參構造,和全參的構造
  • 4. 該類用public修飾
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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;
    }
}

總結

本篇文章就到這里了,希望可以給你提供幫助,也希望您能多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/ww741258963123/article/details/117428941

延伸 · 閱讀

精彩推薦
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7472021-02-04
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
主站蜘蛛池模板: 美女视频ww8888网网 | 日本在线观看免费观看完整版 | 99精品视频在线观看免费播放 | 99久久精品久久久久久清纯 | 欧美日韩精品一区二区三区视频 | 古代双性美人被老糟蹋 | 久久精品一卡二卡三卡四卡视频版 | 全肉一女n男np高h乳 | 国产高清精品自在久久 | 国产乱码免费卡1卡二卡3卡四 | 俄罗斯烧性春三级k8播放 | 国产在线98福利播放视频免费 | 日本javaajax| 亚洲国产一区二区三区a毛片 | voyeur多毛厕所| 免费一看一级毛片人 | 1769亚洲资源站365在线 | 九哥草逼网 | 超级乱淫伦小说1女多男 | 国产精品亚洲午夜一区二区三区 | 99精品久久99久久久久久 | 亚洲视频1区 | 日韩欧美一区二区在线 | 国产精品天天看特色大片不卡 | 性xxxxbbbbxxxx中国| japanesemoms乱熟| 午夜伦伦电影理论片大片 | 日韩精品一区二区三区中文在线 | 免费在线视频一区 | 图片专区亚洲欧美另类 | 国产手机在线αⅴ片无码观看 | 白丝h视频 | 91寡妇天天综合久久影院 | 女老板用丝袜脚夹我好爽 | 日韩免费在线视频观看 | 精品推荐国产麻豆剧传媒 | 亚洲嫩模吧粉嫩粉嫩冒白浆 | 亚洲日本中文字幕天堂网 | 亚洲 国产精品 日韩 | 毛片在线观看网站 | 免费福利资源站在线视频 |