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

Java面向?qū)ο蠡A(chǔ)詳解

 更新時(shí)間:2021年10月14日 08:44:27   作者:執(zhí)久呀  
這篇文章主要介紹了JJava面向?qū)ο蟮幕A(chǔ),文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下

一、前言

我們上次學(xué)過java的方法,現(xiàn)在我們來學(xué)習(xí)新的一篇,也算是java中比較重要的一節(jié)了

面向?qū)ο蠡A(chǔ)是java中核心。

面向?qū)ο笾饕ǚ庋b、繼承、多態(tài)

我們這節(jié)主要講的是封裝,在這之前我們先來了解一下類和對象的定義和關(guān)系

什么是對象?

世間一切都是對象,萬物解釋對象,對象就是看得見摸得著的東西。

什么是類?

類是現(xiàn)實(shí)生活中對具有屬性和行為同一類的總稱。

類和對象的關(guān)系?

類是對象的抽象化,對象是類的實(shí)例化

類的定義 ?

類是java中的基本概念,java中就是以類為基礎(chǔ)的,由類所構(gòu)成的

怎么創(chuàng)建對象?

創(chuàng)建對象是java中常用的形式

格式:

類名 對象名=new 類名();舉例 Phone  p=new Phone();

創(chuàng)建對象的作用?

通過創(chuàng)建對象,該類實(shí)例化,我們就可以通過創(chuàng)建的對象訪問該類下所有成員也可以修改

所訪問的成員變量。(不包括private修飾的成員)

創(chuàng)建兩個(gè)類,

Phone類下:

 PhoneDemo下:

Phone類下:

public class Phone {
    public int price=3999;
    public String brand="華為";
    public static void playGame(){
        System.out.println("這手機(jī)可以打游戲");
    }
}

PhoneDemo下:

public class PhoneDemo {
    public static void main(String[] args) {
        Phone p=new Phone();//創(chuàng)建對象
        System.out.println(p.brand);
        System.out.println(p.price);
        p.playGame();
    }
}

 以上我們演示了創(chuàng)建對象的作用功能。

通過對象的修改這里就不一一演示了。

二、封裝

封裝是把類中的成員用private修飾使他不能被所以改變,然后提供get/set方法對鎖封裝

的成員進(jìn)行賦值和賦值限制。

封裝的好處?

封裝使數(shù)據(jù)變得更有條理,我們提供的條件可以對外接輸入的值進(jìn)行篩選和判斷,比如

設(shè)一個(gè)年齡,我們可以設(shè)置年齡的范圍,和年齡的非負(fù),并且給出相應(yīng)的提示。

封裝的演示圖:

Student類下:

代碼:

 
 
    public class Student {
        private String name;
        private int age;
        public Student(){}//無參構(gòu)造
       public Student(String name,int age){// 有參構(gòu)造
           if(age<0){
               System.out.println("你輸入的年齡有誤,默認(rèn)為18歲");
               this.age=18;   this.name=name;}
           else{
           this.age=age;this.name=name;}
       }
       public void setName(String name){//get/set方法
           this.name=name;
       }
       public String getName(){
            return name;
        }
       public void setAge(int age){
           if(age<0){
               System.out.println("你輸入的年齡有誤,默認(rèn)為18歲");
               this.age=18;
           }else{
               this.age=age;
           }
       }
       public int getAge(){
           return age;
       }
}

StudentDemo類下:

 代碼:

public class StudentDemo {
    public static void main(String[] args) {
        Student s=new Student();//創(chuàng)建無參對象
        s.setAge(20);
        s.setName("張三");
        System.out.println(s.getName()+" ,"+s.getAge());
        s=new Student("李四",-1);//創(chuàng)建對象的同時(shí)賦值
        System.out.println(s.getName()+","+s.getAge());
    }
}

我們也可以在輸入年齡的時(shí)候加上Sanner進(jìn)行鍵盤上的輸入這里就不演示了

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • BigDecimal divide除法除不盡報(bào)錯(cuò)的問題及解決

    BigDecimal divide除法除不盡報(bào)錯(cuò)的問題及解決

    這篇文章主要介紹了BigDecimal divide除法除不盡報(bào)錯(cuò)的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java8中接口的新特性測試

    Java8中接口的新特性測試

    今天小編就為大家分享一篇關(guān)于Java8中接口的新特性測試,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Spring中property-placeholder的使用與解析詳解

    Spring中property-placeholder的使用與解析詳解

    本篇文章主要介紹了Spring中property-placeholder的使用與解析詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • SpringBoot注解@CrossOrigin使用詳解

    SpringBoot注解@CrossOrigin使用詳解

    這篇文章主要介紹了SpringBoot注解@CrossOrigin使用詳解,@CrossOrigin是用來處理跨域請求的注解
    跨域,指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本,它是由瀏覽器的同源策略造成的,是瀏覽器對JavaScript施加的安全限制,需要的朋友可以參考下
    2023-12-12
  • 基于ZooKeeper實(shí)現(xiàn)隊(duì)列源碼

    基于ZooKeeper實(shí)現(xiàn)隊(duì)列源碼

    這篇文章主要介紹了基于ZooKeeper實(shí)現(xiàn)隊(duì)列源碼的相關(guān)內(nèi)容,包括其實(shí)現(xiàn)原理和應(yīng)用場景,以及對隊(duì)列的簡單介紹,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-09-09
  • java返回前端實(shí)體類json數(shù)據(jù)時(shí)忽略某個(gè)屬性方法

    java返回前端實(shí)體類json數(shù)據(jù)時(shí)忽略某個(gè)屬性方法

    這篇文章主要給大家介紹了關(guān)于java返回前端實(shí)體類json數(shù)據(jù)時(shí)忽略某個(gè)屬性的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • java8 實(shí)現(xiàn)map以value值排序操作

    java8 實(shí)現(xiàn)map以value值排序操作

    這篇文章主要介紹了java8 實(shí)現(xiàn)map以value值排序操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • java如何發(fā)送get請求獲取數(shù)據(jù)(附代碼)

    java如何發(fā)送get請求獲取數(shù)據(jù)(附代碼)

    這篇文章主要給大家介紹了關(guān)于java如何發(fā)送get請求獲取數(shù)據(jù)的相關(guān)資料,Java中的GET請求方法是HTTP協(xié)議中的一種請求方式,用于向服務(wù)器請求獲取資源,需要的朋友可以參考下
    2023-10-10
  • Mybatis-Plus設(shè)置全局或者局部ID自增的實(shí)現(xiàn)

    Mybatis-Plus設(shè)置全局或者局部ID自增的實(shí)現(xiàn)

    在使用Mybatis-Plus新增的時(shí)候,我們往往想要id隨著數(shù)據(jù)庫自增,本文主要介紹了Mybatis-Plus設(shè)置全局或者局部ID自增的實(shí)現(xiàn),具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 基于Java Gradle復(fù)制項(xiàng)目模塊過程圖解

    基于Java Gradle復(fù)制項(xiàng)目模塊過程圖解

    這篇文章主要介紹了基于Java Gradle復(fù)制項(xiàng)目模塊過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評論