Java面向對象基礎詳解
一、前言
我們上次學過java的方法,現(xiàn)在我們來學習新的一篇,也算是java中比較重要的一節(jié)了
面向對象基礎是java中核心。
面向對象主要包括封裝、繼承、多態(tài)
我們這節(jié)主要講的是封裝,在這之前我們先來了解一下類和對象的定義和關系
什么是對象?
世間一切都是對象,萬物解釋對象,對象就是看得見摸得著的東西。
什么是類?
類是現(xiàn)實生活中對具有屬性和行為同一類的總稱。
類和對象的關系?
類是對象的抽象化,對象是類的實例化
類的定義 ?
類是java中的基本概念,java中就是以類為基礎的,由類所構成的
怎么創(chuàng)建對象?
創(chuàng)建對象是java中常用的形式
格式:
類名 對象名=new 類名();舉例 Phone p=new Phone();
創(chuàng)建對象的作用?
通過創(chuàng)建對象,該類實例化,我們就可以通過創(chuàng)建的對象訪問該類下所有成員也可以修改
所訪問的成員變量。(不包括private修飾的成員)
創(chuàng)建兩個類,
Phone類下:
PhoneDemo下:
Phone類下:
public class Phone { public int price=3999; public String brand="華為"; public static void playGame(){ System.out.println("這手機可以打游戲"); } }
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方法對鎖封裝
的成員進行賦值和賦值限制。
封裝的好處?
封裝使數(shù)據變得更有條理,我們提供的條件可以對外接輸入的值進行篩選和判斷,比如
設一個年齡,我們可以設置年齡的范圍,和年齡的非負,并且給出相應的提示。
封裝的演示圖:
Student類下:
代碼:
public class Student { private String name; private int age; public Student(){}//無參構造 public Student(String name,int age){// 有參構造 if(age<0){ System.out.println("你輸入的年齡有誤,默認為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("你輸入的年齡有誤,默認為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)建對象的同時賦值 System.out.println(s.getName()+","+s.getAge()); } }
我們也可以在輸入年齡的時候加上Sanner進行鍵盤上的輸入這里就不演示了
總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!
相關文章
BigDecimal divide除法除不盡報錯的問題及解決
這篇文章主要介紹了BigDecimal divide除法除不盡報錯的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06Spring中property-placeholder的使用與解析詳解
本篇文章主要介紹了Spring中property-placeholder的使用與解析詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05java返回前端實體類json數(shù)據時忽略某個屬性方法
這篇文章主要給大家介紹了關于java返回前端實體類json數(shù)據時忽略某個屬性的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2023-08-08java如何發(fā)送get請求獲取數(shù)據(附代碼)
這篇文章主要給大家介紹了關于java如何發(fā)送get請求獲取數(shù)據的相關資料,Java中的GET請求方法是HTTP協(xié)議中的一種請求方式,用于向服務器請求獲取資源,需要的朋友可以參考下2023-10-10Mybatis-Plus設置全局或者局部ID自增的實現(xiàn)
在使用Mybatis-Plus新增的時候,我們往往想要id隨著數(shù)據庫自增,本文主要介紹了Mybatis-Plus設置全局或者局部ID自增的實現(xiàn),具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01