摘要:面向?qū)ο蟮娜筇卣鞣庋b繼承多態(tài)。以本文為例,類中的變量為私有變量,只能通過(guò)創(chuàng)建對(duì)象此時(shí)構(gòu)造方法自動(dòng)調(diào)用來(lái)賦值。
java面向?qū)ο蟮娜筇卣鳎骸胺庋b、繼承、多態(tài)”。
以本文為例,User類中的變量為私有變量,只能通過(guò)創(chuàng)建對(duì)象(此時(shí)構(gòu)造方法自動(dòng)調(diào)用)來(lái)賦值。外界只能通過(guò)公有方法api()來(lái)訪問(wèn)User類。
Admin類繼承了User類,調(diào)用了其構(gòu)造方法,還重寫(xiě)了method_1方法,增加了一個(gè)特有方法power()。
User文件public class User { /** * 私有變量, 僅限本類訪問(wèn) */ private String name; private int age; /** * 構(gòu)造方法, 自動(dòng)調(diào)用 */ public User(String name, int age){ this.name = name; this.age = age; } /** * 私有方法, 僅限本類訪問(wèn) */ private void method_1(){ System.out.println("i am a " + name + " ; my age is: " + age); } /** * 可被子類繼承、覆蓋和同包調(diào)用 */ protected void method_2(){ System.out.println("i am not override"); } /** * 公有方法,對(duì)外接口 */ public void api() { method_1(); method_2(); } }Admin文件
public class Admin extends User { /** * 構(gòu)造方法 */ public Admin(String name, int age) { // 使用父類的構(gòu)造方法 super(name, age); } /** * 覆蓋父類的同名方法 */ protected void method_2() { System.out.println("NO, you are override"); } /** * 子類特有方法 */ public void power(){ System.out.println("admin is powerful"); } }Main文件
public class Main{ public static void main(String[] arg) { // 實(shí)例化一個(gè)User對(duì)象,并調(diào)用User的公有方法 User a = new User("user", 12); a.api(); // 輸出換行,方便區(qū)分不同的代碼 System.out.println(); // 實(shí)例化一個(gè)Admin對(duì)象,并調(diào)用Admin的兩個(gè)方法 Admin admin_me = new Admin("admin", 23); admin_me.api(); // 繼承自User父類 admin_me.power(); // 自身獨(dú)有的方法 System.out.println(); /** * 多態(tài)性 */ User test_admin = new Admin("test_admin", 34); test_admin.api(); // test_admin.power(); // User中沒(méi)有聲明power這個(gè)方法,所以不能使用 } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/64199.html
摘要:面向?qū)ο缶幊趟枷朊嫦驅(qū)ο?,?jiǎn)單來(lái)說(shuō)就是由動(dòng)作的執(zhí)行者變?yōu)閯?dòng)作的操控者。面向?qū)ο笫窍鄬?duì)于面向過(guò)程的。面向?qū)ο笕筇卣髅嫦驅(qū)ο笥腥筇卣?,即封裝繼承和多態(tài)。接口和抽象類接口接口名方法方法,默認(rèn)修飾符為,不能用其他修飾符修飾接口。 面向?qū)ο缶幊趟枷?面向?qū)ο?,?jiǎn)單來(lái)說(shuō)就是由動(dòng)作的執(zhí)行者變?yōu)閯?dòng)作的操控者。結(jié)合具體例子來(lái)說(shuō)就是使用某個(gè)人或者工具所具有的功能而不用去管功能的具體實(shí)現(xiàn)方式。例如現(xiàn)實(shí)中...
摘要:什么是面向?qū)ο蟊疚牟辉谡撌?。接下?lái)說(shuō)一下面向?qū)ο蟮娜筇卣髟诋?dāng)中的實(shí)現(xiàn)。封裝實(shí)現(xiàn)封裝實(shí)現(xiàn)就是是對(duì)象內(nèi)部的變化對(duì)外界是透明的不可見(jiàn)。這種做法使對(duì)象之間低耦合便于維護(hù)升級(jí)團(tuán)隊(duì)協(xié)作開(kāi)發(fā)。。 概述 本來(lái)打算寫(xiě)設(shè)計(jì)模式的,在談?wù)搄s的設(shè)計(jì)模式之前先說(shuō)一下js的面向?qū)ο?因?yàn)楹芏嘣O(shè)計(jì)模式的實(shí)現(xiàn)都摻雜著面向?qū)ο蟮乃枷?所以先做一下前期鋪墊。 js我們都知道是一種動(dòng)態(tài)類型腳本型語(yǔ)言,變量類型無(wú)法保證,...
摘要:類用于描述客觀世界里某一類對(duì)象的共同特征,而對(duì)象則是類的具體的存在,程序使用類的構(gòu)造器來(lái)創(chuàng)建該類的對(duì)象。也支持面向?qū)ο蟮娜筇卣鞣庋b繼承和多態(tài)。構(gòu)造器用于對(duì)類實(shí)例進(jìn)行初始化操作,構(gòu)造器支持重載。 Java是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,Java語(yǔ)言提供了定義類、成員變量、方法等最基本的功能。類可被認(rèn)為是一種自定義的數(shù)據(jù)類型,可以使用類來(lái)定義變量。類用于描述客觀世界里某一類對(duì)象的共同特征,而對(duì)...
摘要:面向?qū)ο笈c面向過(guò)程的區(qū)別要知道,二者并不是非此即彼,而是相輔相成的。而面向過(guò)程,則在微觀上對(duì)對(duì)象內(nèi)部進(jìn)行具體的實(shí)現(xiàn)。面向?qū)ο蟮娜筇匦哉f(shuō)到面向?qū)ο?,就不得不說(shuō)其三大特性封裝繼承和多態(tài)。封裝封裝是面向?qū)ο笞罨A(chǔ)的特性。 作者:伯特出處:github.com/ruicbAndroid/LoulanPlan聲明:本文出自伯特的《LoulanPlan》,轉(zhuǎn)載務(wù)必注明作者及出處。 剛學(xué)習(xí) Jav...
閱讀 606·2023-04-25 14:26
閱讀 1381·2021-11-25 09:43
閱讀 3547·2021-09-22 15:25
閱讀 1509·2019-08-30 15:54
閱讀 617·2019-08-30 12:57
閱讀 835·2019-08-29 17:24
閱讀 3218·2019-08-28 18:13
閱讀 2780·2019-08-28 17:52