java中類(lèi)與對(duì)象的使用詳情
1. 類(lèi)的定義
面向?qū)ο笫峭ㄟ^(guò)類(lèi)和對(duì)象去描述和代表萬(wàn)千事物對(duì)象的,首先我們需要知道如何去定義一個(gè)類(lèi)。類(lèi)的組成是由屬性和行為兩部分組成
- 屬性:在類(lèi)中通過(guò)成員變量來(lái)體現(xiàn)(類(lèi)中方法外的變量)
- 行為:在類(lèi)中通過(guò)成員方法來(lái)體現(xiàn)(和前面的方法相比去掉static關(guān)鍵字即可)
類(lèi)的定義格式
類(lèi)的定義步驟:
- ①定義類(lèi)
- ②編寫(xiě)類(lèi)的成員變量
- ③編寫(xiě)類(lèi)的成員方法
public class 類(lèi)名 {
// 成員變量
數(shù)據(jù)類(lèi)型 變量1;
數(shù)據(jù)類(lèi)型 變量2;
…
// 成員方法
方法1;
方法2;
}示例代碼:
/*
? ?手機(jī)類(lèi):
? ? ? ?類(lèi)名:
? ? ? ?手機(jī)(Phone)
?
? ? ? ?成員變量:
? ? ? ?品牌(brand)
? ? ? ?價(jià)格(price)
?
? ? ? ?成員方法:
? ? ? ?打電話(call)
? ? ? ?發(fā)短信(sendMessage)
*/
public class Phone {
? ?//成員變量
? ?String brand;
? ?int price;
?
? ?//成員方法
? ?public void call() {
? ? ? ?System.out.println("打電話");
? }
?
? ?public void sendMessage() {
? ? ? ?System.out.println("發(fā)短信");
? }
}2.對(duì)象的創(chuàng)建和使用
如何得到對(duì)象
有了類(lèi)后是不行的,我們必須創(chuàng)建類(lèi)的對(duì)象,類(lèi)的對(duì)象是可以有千千萬(wàn)萬(wàn)個(gè)的,以便用對(duì)象代表現(xiàn)實(shí)世界具體存在的一個(gè)事物。那么如何創(chuàng)建對(duì)象呢?創(chuàng)建對(duì)象的格式如下:
類(lèi)名 對(duì)象名 = new 類(lèi)名(); 復(fù)制代碼
如何使用對(duì)象
當(dāng)我們創(chuàng)建對(duì)象后需要使用對(duì)象的屬性和行為:格式如下:
使用對(duì)象的成員變量:
對(duì)象名.成員變量
?
使用對(duì)象的成員方法:
對(duì)象名.成員方法();
示例代碼:
/*
? ?創(chuàng)建對(duì)象
? ? ? ?格式:類(lèi)名 對(duì)象名 = new 類(lèi)名();
? ? ? ?范例:Phone p = new Phone();
?
? ?使用對(duì)象
? ? ? ?1:使用成員變量
? ? ? ? ? ?格式:對(duì)象名.變量名
? ? ? ? ? ?范例:p.brand
? ? ? ?2:使用成員方法
? ? ? ? ? ?格式:對(duì)象名.方法名()
? ? ? ? ? ?范例:p.call()
*/
public class PhoneDemo {
? ?public static void main(String[] args) {
? ? ? ?//創(chuàng)建對(duì)象
? ? ? ?Phone p = new Phone();
? ? ? ?//使用成員變量
? ? ? ?System.out.println(p.brand);
? ? ? ?System.out.println(p.price);?
? ? ? ?p.brand = "小米";
? ? ? ?p.price = 2999;?
? ? ? ?System.out.println(p.brand);
? ? ? ?System.out.println(p.price);
? ? ? ?//使用成員方法
? ? ? ?p.call();
? ? ? ?p.sendMessage();
? }
}3.學(xué)生對(duì)象-練習(xí)
需求:首先定義一個(gè)學(xué)生類(lèi),然后定義一個(gè)學(xué)生測(cè)試類(lèi),在學(xué)生測(cè)試類(lèi)中通過(guò)對(duì)象完成成員變量和成員方法的使用
分析:
- 成員變量:姓名,年齡…
- 成員方法:學(xué)習(xí),做作業(yè)…
示例代碼:
class Student {
? ?//成員變量
? ?String name;
? ?int age;?
? ?//成員方法
? ?public void study() {
? ? ? ?System.out.println("好好學(xué)習(xí),天天向上");
? }
? ?public void doHomework() {
? ? ? ?System.out.println("鍵盤(pán)敲爛,月薪過(guò)萬(wàn)");
? }
}
?
/*
? ?學(xué)生測(cè)試類(lèi)
*/
public class StudentDemo {
? ?public static void main(String[] args) {
? ? ? ?//創(chuàng)建對(duì)象
? ? ? ?Student s = new Student();
? ? ? ?//使用對(duì)象
? ? ? ?System.out.println(s.name + "," + s.age);
? ? ? ?s.name = "林青霞";
? ? ? ?s.age = 30;
? ? ? ?System.out.println(s.name + "," + s.age);
? ? ? ?s.study();
? ? ? ?s.doHomework();
? }
}4.成員變量的默認(rèn)值
從上面對(duì)象訪問(wèn)成員變量屬性可以看出,成員變量可以不給初始值的,成員變量實(shí)際上是存在默認(rèn)值的,默認(rèn)值的規(guī)則如下:
| 數(shù)據(jù)類(lèi)型 | 默認(rèn)值 | |
|---|---|---|
| 基本類(lèi)型 | 整數(shù)(byte,short,int,long) | 0 |
| 浮點(diǎn)數(shù)(float,double) | 0.0 | |
| 字符(char) | '\u0000' | |
| 布爾(boolean) | false | |
| 引用類(lèi)型 | 數(shù)組,類(lèi),接口 | null |
到此這篇關(guān)于java中類(lèi)與對(duì)象的使用詳情的文章就介紹到這了,更多相關(guān)java 類(lèi)與對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot實(shí)現(xiàn)導(dǎo)入導(dǎo)出Excel的方法
今天帶各位小伙伴學(xué)習(xí)Springboot實(shí)現(xiàn)導(dǎo)入導(dǎo)出Excel的方法,文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
java中面向?qū)ο蟮母拍罴爸R(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于java中面向?qū)ο蟮母拍罴爸R(shí)點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以參考下。2021-01-01
java虛擬機(jī)內(nèi)存溢出及泄漏實(shí)例
本篇文章給大家分享了java虛擬機(jī)內(nèi)存溢出及泄漏的實(shí)例以及相關(guān)知識(shí)點(diǎn)分享,有興趣的朋友參考學(xué)習(xí)下。2018-06-06
Java如何實(shí)現(xiàn)微信支付v3的支付回調(diào)
這篇文章主要給大家介紹了關(guān)于Java如何實(shí)現(xiàn)微信支付v3的支付回調(diào),微信實(shí)現(xiàn)支付功能與支付寶實(shí)現(xiàn)支付功能是相似的,文中給了詳細(xì)的示例代碼,需要的朋友可以參考下2023-07-07
java 中類(lèi)似js encodeURIComponent 函數(shù)的實(shí)現(xiàn)案例
這篇文章主要介紹了java 中類(lèi)似js encodeURIComponent 函數(shù)的實(shí)現(xiàn)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
工作中禁止使用Executors快捷創(chuàng)建線程池原理詳解
這篇文章主要為大家介紹了工作中禁止使用Executors快捷創(chuàng)建線程池原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
一次"java:程序包org.aspectj.lang不存在"問(wèn)題解決實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了一次"java:程序包org.aspectj.lang不存在"問(wèn)題解決的實(shí)戰(zhàn)過(guò)程,這個(gè)錯(cuò)誤提示意味著你的Java程序中引用了org.aspectj.lang這個(gè)包,但是該包并不存在,文章通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
SpringBoot使用MyBatis實(shí)現(xiàn)數(shù)據(jù)的CRUD
MyBatis是一個(gè)輕量級(jí)的對(duì)象關(guān)系映射(Object-Relational Mapping,ORM)框架,它允許開(kāi)發(fā)者通過(guò)編寫(xiě)SQL動(dòng)態(tài)查詢數(shù)據(jù)庫(kù),而無(wú)需顯式地操作JDBC,對(duì)于增刪改查操作,MyBatis提供了一種基于XML或注解的方式來(lái)進(jìn)行,本文介紹了SpringBoot使用MyBatis實(shí)現(xiàn)數(shù)據(jù)的CRUD2024-11-11
MyBatis通用Mapper實(shí)現(xiàn)原理及相關(guān)內(nèi)容
今天小編就為大家分享一篇關(guān)于MyBatis通用Mapper實(shí)現(xiàn)原理及相關(guān)內(nèi)容,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
mybatis-plus的自動(dòng)填充時(shí)間的問(wèn)題(添加到數(shù)據(jù)庫(kù)的時(shí)間比當(dāng)前時(shí)間多4個(gè)小時(shí))
這篇文章主要介紹了mybatis-plus的自動(dòng)填充時(shí)間的問(wèn)題(添加到數(shù)據(jù)庫(kù)的時(shí)間比當(dāng)前時(shí)間多4個(gè)小時(shí)),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09

