Java面向?qū)ο蠡A(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)文章
Java設(shè)計(jì)模式中的建造者(Builder)模式解讀
這篇文章主要介紹了Java設(shè)計(jì)模式中的建造者(Builder)模式解讀, 建造者模式是一種創(chuàng)建對象的設(shè)計(jì)模式,它通過將對象的構(gòu)建過程分解為多個(gè)步驟,并使用一個(gè)建造者類來封裝這些步驟,從而使得對象的構(gòu)建過程更加靈活和可擴(kuò)展,需要的朋友可以參考下2023-10-10
java命令調(diào)用虛擬機(jī)方法總結(jié)
在本篇文章里我們給大家整理了關(guān)于java中的java命令如何調(diào)用虛擬機(jī)的方法和具體步驟,需要的朋友們跟著操作下。2019-05-05
Spring?Boot循環(huán)依賴原理、解決方案與最佳實(shí)踐(全解析)
循環(huán)依賴指兩個(gè)或多個(gè)Bean相互直接或間接引用,形成閉環(huán)依賴關(guān)系,這篇文章主要介紹了Spring?Boot循環(huán)依賴原理、解決方案與最佳實(shí)踐(全解析),需要的朋友可以參考下2025-04-04
Tomcat啟動分析(我們?yōu)槭裁匆渲肅ATALINA_HOME環(huán)境變量)
本文主要介紹Tomcat啟動分析的知識,這里整理了相關(guān)資料及分析原因和如何實(shí)現(xiàn)的方法,有興趣的小伙伴可以參考下2016-09-09
SpringFramework應(yīng)用接入Apollo配置中心過程解析
這篇文章主要介紹了SpringFramework應(yīng)用接入Apollo配置中心過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
Java判斷101-200之間有多少個(gè)素?cái)?shù)并輸出
這篇文章主要介紹了Java判斷101-200之間有多少個(gè)素?cái)?shù)并輸出,需要的朋友可以參考下2017-02-02
淺談SpringSecurity注解與AOP切面執(zhí)行順序
這篇文章主要介紹了淺談SpringSecurity注解與AOP切面執(zhí)行順序,引入Spring Security后,在Controller的方法中會出現(xiàn)Spring Security的方法注解與AOP同時(shí)存在的問題,這是就會設(shè)計(jì)順序問題,需要的朋友可以參考下2023-10-10

