一、前言
我們上次學(xué)過java的方法,現(xiàn)在我們來學(xué)習(xí)新的一篇,也算是java中比較重要的一節(jié)了
面向?qū)ο蠡A(chǔ)是java中核心。
面向?qū)ο笾饕ǚ庋b、繼承、多態(tài)
我們這節(jié)主要講的是封裝,在這之前我們先來了解一下類和對(duì)象的定義和關(guān)系
什么是對(duì)象?
世間一切都是對(duì)象,萬(wàn)物解釋對(duì)象,對(duì)象就是看得見摸得著的東西。
什么是類?
類是現(xiàn)實(shí)生活中對(duì)具有屬性和行為同一類的總稱。
類和對(duì)象的關(guān)系?
類是對(duì)象的抽象化,對(duì)象是類的實(shí)例化
類的定義 ?
類是java中的基本概念,java中就是以類為基礎(chǔ)的,由類所構(gòu)成的
怎么創(chuàng)建對(duì)象?
創(chuàng)建對(duì)象是java中常用的形式
格式:
類名對(duì)象名=new 類名();舉例 Phone p=new Phone();
創(chuàng)建對(duì)象的作用?
通過創(chuàng)建對(duì)象,該類實(shí)例化,我們就可以通過創(chuàng)建的對(duì)象訪問該類下所有成員也可以修改
所訪問的成員變量。(不包括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)建對(duì)象 System.out.println(p.brand); System.out.println(p.price); p.playGame(); } }
以上我們演示了創(chuàng)建對(duì)象的作用功能。
通過對(duì)象的修改這里就不一一演示了。
二、封裝
封裝是把類中的成員用private修飾使他不能被所以改變,然后提供get/set方法對(duì)鎖封裝
的成員進(jìn)行賦值和賦值限制。
封裝的好處?
封裝使數(shù)據(jù)變得更有條理,我們提供的條件可以對(duì)外接輸入的值進(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)建無參對(duì)象 s.setAge(20); s.setName("張三"); System.out.println(s.getName()+" ,"+s.getAge()); s=new Student("李四",-1);//創(chuàng)建對(duì)象的同時(shí)賦值 System.out.println(s.getName()+","+s.getAge()); } }
我們也可以在輸入年齡的時(shí)候加上Sanner進(jìn)行鍵盤上的輸入這里就不演示了
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注服務(wù)器之家的更多內(nèi)容!
原文鏈接:https://blog.csdn.net/weixin_60719453/article/details/120736499