欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java面向?qū)ο筇匦陨钊肱傥龇庋b

 更新時(shí)間:2022年05月19日 11:07:35   作者:快到鍋里來(lái)呀  
封裝是一個(gè)非常廣泛的概念,小到一個(gè)屬性的封裝,大到一個(gè)框架或者一個(gè)項(xiàng)目的封裝,下面這篇文章主要給大家介紹了關(guān)于java中封裝的那點(diǎn)事,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前面已經(jīng)提過(guò)了 Java是一門面向?qū)ο螅╫op)的進(jìn)行編程的語(yǔ)言,

面向?qū)ο蟮木幊蹋泻芏嗟暮锰?,比如更容易開拓思維,分工合作,提高開發(fā)效率,

最主要的是 可重用性高,也就是下面將要提到的這三個(gè)核心特性(封裝,繼承,多態(tài))。

可擴(kuò)展性,易于管理。

1.認(rèn)識(shí)封裝

簡(jiǎn)單的一句話就是套殼屏蔽細(xì)節(jié)。

比如說(shuō)一部手機(jī),里面有電池,芯片,主板,攝像頭,屏幕,等等電子器件。

對(duì)于我們用戶來(lái)說(shuō),會(huì)開關(guān)機(jī),調(diào)音量,會(huì)操作使用接打電話等作用就可以了,

不需要考慮內(nèi)部的線路是怎么樣的,電子器件是什么型號(hào)的,這些都不用管。

所以手機(jī)廠商會(huì)用外殼把里面的電子器件包裹封裝起來(lái),讓用戶使用更方便,就是這一種思想

和我們的在面向?qū)ο蟮暮诵奶匦灾坏姆庋b相似。

比較正式的講就是:將數(shù)據(jù)和操作數(shù)據(jù)的方法進(jìn)行有機(jī)結(jié)合,隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外公開接口來(lái)和對(duì)象進(jìn)行交互

按照我的通俗理解就是,比如說(shuō),和人進(jìn)行交流,具體他是怎么發(fā)出聲音,這一系列過(guò)程我不關(guān)注,我只需聽他講出什么話,就可以了

2.控制訪問權(quán)限-訪問修飾符

既然java中封裝是只留下接口,和對(duì)象進(jìn)行交互,那么如何實(shí)現(xiàn)這種接口 ,將里面的細(xì)節(jié)進(jìn)行控制隱藏,這就要提到訪問修飾符了

訪問修飾符作用:通過(guò)控制類和訪問權(quán)限來(lái)實(shí)現(xiàn)封裝

類可以將數(shù)據(jù)和封裝數(shù)據(jù)的方法結(jié)合在一起,

而訪問權(quán)限用來(lái)控制方法或者字段能否直接在類外使用

范圍

private

私有

default

默認(rèn)

protected

繼承

public

公開

同一包中的同一類????
同一包中的不同類 ???
不同包中的子類  ??
不同包中的非子類   ?

??(公開)public:在任何地方都可以訪問它修飾的成員,方法或者類。

??(繼承)protected:看后面,

??(默認(rèn))default:在同一個(gè)包中進(jìn)行訪問

??(私有)private:只能在當(dāng)前類中進(jìn)行訪問

public class TestDemo01 {
    int year;
    //默認(rèn)權(quán)限,可以省略default
    private int month;
    //私有權(quán)限,只能在同一個(gè)類中訪問
    public int day;
    //公有權(quán)限,那里都能訪問
}

下面演示一下

在第一個(gè)類TestDemo01中

在二個(gè)類TestDemo02中

我們發(fā)現(xiàn),找不到month,這是因?yàn)槲覀儼阉脑L問權(quán)限寫成了private,變成私有的了,別的類不能訪問。這就是實(shí)現(xiàn)封裝了,month只能在TestDemo01中使用。

我們實(shí)現(xiàn)封裝是為了只留下接口,不展示細(xì)節(jié),

下面我們演示一下封裝后的接口

如果說(shuō)有很多成員都是私有的,我們可以不用一個(gè)一個(gè)寫這兩個(gè)接口,可以借助idea的功能來(lái)快速寫出,

3.理解封裝必須要知道-包

3.1理解包的概念

包的存在是為了更好的管理類,把多個(gè)類收集在一起成為一組,進(jìn)行分組和目錄相似

包是對(duì)類、接口等的封裝機(jī)制的體現(xiàn),是一種對(duì)類或者接口等的很好的組織方式,

包還有一個(gè)很作用是,在同一個(gè)工程中允許存在相同名稱類,只要處在不同的包中即可。

3.2 導(dǎo)入包中的類

下面再看為什么會(huì)報(bào)錯(cuò)

怎么解決這種問題,那就要指定具體的包了

package com.toabao.www;
import java.util.*;
import java.sql.*;
public class TestDemo03 {
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        System.out.println(Arrays.toString(array));
        java.util.Date date = new java.util.Date();
        java.sql.Date date1 = new java.sql.Date(12);
    }
}

使用import static導(dǎo)入包中靜態(tài)的方法和字段

import static java.lang.Math.*;
public class TestDemo01 {
public static void main(String[] args) {
    double x = 13;
    double y = 14;
    double result = sqrt(pow(x,2)+pow(y,2));
}
}

3.3 自定義包

先看步驟,不會(huì)的大家可以試著自己創(chuàng)建一個(gè)包

注意:

1. 包創(chuàng)建好后,在文件中,最上方都要有一句 package語(yǔ)句來(lái)說(shuō)明在文件在哪個(gè)包中(idea會(huì)自動(dòng)添加)

2. 包的命名,一般會(huì)比如說(shuō)是域名的反過(guò)來(lái)的名字

3.我們可以在存放代碼的位置看一下,剛剛創(chuàng)建好的包

3.4 包的訪問權(quán)限控制

同一個(gè)包中的同一類

package Demo01;
public class Test01 {
    int count = 10;
    public void func(){
        System.out.println(count);
    }
}

同一個(gè)包中不同的類的訪問

不同包中的子類

前面的count的訪問權(quán)限是默認(rèn)的,也就是default,不能訪問不同包中的子類和非子類

如果非要訪問可以將訪問權(quán)限改成public,

3.5 java中常見的包

1. java.lang:系統(tǒng)常用基礎(chǔ)類(String、Object),JDK1.1后就不用寫了,會(huì)自動(dòng)導(dǎo)入,

2. java.lang.reflflect:java 反射編程包

3. java.net:進(jìn)行網(wǎng)絡(luò)編程開發(fā)包

4. java.sql:進(jìn)行數(shù)據(jù)庫(kù)開發(fā)的支持包

5. java.util:是java提供的工具程序包

6. java.io:I/O編程開發(fā)包

到此這篇關(guān)于Java面向?qū)ο筇匦陨钊肱傥龇庋b的文章就介紹到這了,更多相關(guān)Java封裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java將數(shù)據(jù)寫入內(nèi)存,磁盤的方法

    java將數(shù)據(jù)寫入內(nèi)存,磁盤的方法

    下面小編就為大家分享一篇java將數(shù)據(jù)寫入內(nèi)存,磁盤的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • springcloud Zuul動(dòng)態(tài)路由的實(shí)現(xiàn)

    springcloud Zuul動(dòng)態(tài)路由的實(shí)現(xiàn)

    這篇文章主要介紹了springcloud Zuul動(dòng)態(tài)路由的實(shí)現(xiàn),詳細(xì)的介紹了什么是Zuu及其動(dòng)態(tài)路由的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • java實(shí)現(xiàn)桌面右下角彈窗效果

    java實(shí)現(xiàn)桌面右下角彈窗效果

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)桌面右下角彈窗效果,模仿類似于qq消息彈窗,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 在Intellij Idea中使用jstl標(biāo)簽庫(kù)的方法

    在Intellij Idea中使用jstl標(biāo)簽庫(kù)的方法

    這篇文章主要介紹了在Intellij Idea中使用jstl標(biāo)簽庫(kù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • java jdbc連接mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查操作

    java jdbc連接mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查操作

    這篇文章主要為大家詳細(xì)介紹了java jdbc連接mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • SpringSecurity數(shù)據(jù)庫(kù)進(jìn)行認(rèn)證和授權(quán)的使用

    SpringSecurity數(shù)據(jù)庫(kù)進(jìn)行認(rèn)證和授權(quán)的使用

    本文主要介紹了用戶的賬號(hào)、密碼以及角色信息在數(shù)據(jù)庫(kù)中的認(rèn)證和授權(quán),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 詳解Java編程中final,finalize,finally的區(qū)別

    詳解Java編程中final,finalize,finally的區(qū)別

    這篇文章主要介紹了詳解Java編程中final,finalize,finally的區(qū)別,這個(gè)在Java面試題中簡(jiǎn)直是太常見了...需要的朋友可以參考下
    2015-11-11
  • java使用dom4j生成與解析xml文檔的方法示例

    java使用dom4j生成與解析xml文檔的方法示例

    這篇文章主要介紹了java使用dom4j生成與解析xml文檔的方法,結(jié)合實(shí)例形式分析了java基于dom4j操作xml節(jié)點(diǎn)生成xml文檔以及解析xml文檔的相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • Springboot配置Swagger的實(shí)現(xiàn)示例

    Springboot配置Swagger的實(shí)現(xiàn)示例

    Swagger 是一種提高 API 開發(fā)和維護(hù)效率的工具,它使開發(fā)者能夠更輕松地構(gòu)建、測(cè)試和文檔化 API,本文主要介紹了Springboot配置Swagger的實(shí)現(xiàn)示例,感興趣的可以了解一下
    2023-10-10
  • 詳細(xì)了解MyBatis的異常處理機(jī)制

    詳細(xì)了解MyBatis的異常處理機(jī)制

    本文將對(duì)MyBatis的異常體系以及異常使用進(jìn)行學(xué)習(xí),MyBatis版本是3.5.6,作為一款成熟的ORM框架,MyBatis有自己一套成熟的異常處理體系,,需要的朋友可以參考下
    2023-06-06

最新評(píng)論